summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/charset.h12
-rw-r--r--source3/include/includes.h44
-rw-r--r--source3/include/kanji.h4
-rw-r--r--source3/include/proto.h2
-rw-r--r--source3/include/smb.h25
-rw-r--r--source3/include/version.h2
6 files changed, 75 insertions, 14 deletions
diff --git a/source3/include/charset.h b/source3/include/charset.h
index 14b6ec2020..72a8810e42 100644
--- a/source3/include/charset.h
+++ b/source3/include/charset.h
@@ -51,15 +51,15 @@ extern void charset_initialise(void);
#undef isspace
#endif
-#define toupper(c) upper_char_map[(char)(c)]
-#define tolower(c) lower_char_map[(char)(c)]
-#define isupper(c) (((char)(c)) != tolower(c))
-#define islower(c) (((char)(c)) != toupper(c))
-#define isdoschar(c) (dos_char_map[(char)(c)] != 0)
+#define toupper(c) (upper_char_map[(c&0xff)] & 0xff)
+#define tolower(c) (lower_char_map[(c&0xff)] & 0xff)
+#define isupper(c) ((c&0xff) != tolower(c&0xff))
+#define islower(c) ((c&0xff) != toupper(c&0xff))
+#define isdoschar(c) (dos_char_map[(c&0xff)] != 0)
#define isspace(c) ((c)==' ' || (c) == '\t')
/* this is used to determine if a character is safe to use in
something that may be put on a command line */
-#define issafe(c) (isalnum(c) || strchr("-._",c))
+#define issafe(c) (isalnum((c&0xff)) || strchr("-._",c))
#endif
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 0b989df20d..0e93df35fd 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -259,11 +259,21 @@ typedef unsigned short mode_t;
#include <utime.h>
#define NO_STRERROR
#endif
+#ifndef REPLACE_GETPASS
#define REPLACE_GETPASS
+#endif
+#ifndef BSD_TERMIO
#define BSD_TERMIO
+#endif
+#ifndef USE_SIGPROCMASK
#define USE_SIGPROCMASK
+#endif
+#ifndef USE_WAITPID
#define USE_WAITPID
#endif
+/* SunOS doesn't have POSIX atexit */
+#define atexit on_exit
+#endif
#ifdef SUNOS5
@@ -496,6 +506,7 @@ char *mktemp(char *); /* No standard include */
#include <sys/id.h>
#include <sys/priv.h>
#include <netinet/tcp.h>
+#include <locale.h>
#define SYSV
#define USE_WAITPID
#define USE_SIGBLOCK
@@ -642,6 +653,7 @@ char *mktemp(char *); /* No standard include */
#include <sys/statfs.h>
#include <sys/stropts.h>
#include <limits.h>
+#include <locale.h>
#ifdef EVEREST
#include <unistd.h>
#endif
@@ -916,6 +928,38 @@ typedef int mode_t;
#include <sys/bsdioctl.h>
#endif
+#ifdef AMIGA
+#include <arpa/inet.h>
+#include <dirent.h>
+#include <string.h>
+#include <netinet/tcp.h>
+#include <sys/acct.h>
+#include <sys/fcntl.h>
+#include <sys/filio.h>
+#include <sys/sockio.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <sys/termios.h>
+#include <limits.h>
+#include <sys/timeb.h>
+
+#define SIGNAL_CAST (void (*)(int))
+#define USE_GETCWD
+#define HAVE_BZERO
+#define HAVE_MEMMOVE
+#define USE_SIGPROCMASK
+#define USE_WAITPID
+#define USE_DIRECT
+#define USE_F_FSIZE
+#define HAVE_FCNTL_LOCK 0
+#define HAVE_GETTIMEOFDAY
+#define HAVE_PATHCONF
+
+#define HAVE_NO_PROC
+#define NO_FORK_DEBUG
+#define HAVE_FORK 0
+#define HAVE_VFORK 1
+#endif
/*******************************************************************
diff --git a/source3/include/kanji.h b/source3/include/kanji.h
index 4f18305c63..6bc88b704d 100644
--- a/source3/include/kanji.h
+++ b/source3/include/kanji.h
@@ -122,8 +122,8 @@ int interpret_coding_system (char *str, int def);
#else
-#define unix_to_dos(x,y) (x)
-#define dos_to_unix(x,y) (x)
+#define unix_to_dos(x,y) unix2dos_format(x,y)
+#define dos_to_unix(x,y) dos2unix_format(x,y)
#endif /* not KANJI */
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 3ba06116ed..bbe74e3270 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -666,7 +666,7 @@ BOOL unix_convert(char *name,int cnum);
int disk_free(char *path,int *bsize,int *dfree,int *dsize);
int sys_disk_free(char *path,int *bsize,int *dfree,int *dsize);
BOOL check_name(char *name,int cnum);
-void open_file(int fnum,int cnum,char *fname1,int flags,int mode);
+void open_file(int fnum,int cnum,char *fname1,int flags,int mode, struct stat *st);
void sync_file(int fnum);
void close_file(int fnum);
BOOL check_file_sharing(int cnum,char *fname);
diff --git a/source3/include/smb.h b/source3/include/smb.h
index f499459f98..bbb477f5f7 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -286,10 +286,27 @@ typedef struct
BOOL wr_discard; /* discard all further data */
} write_bmpx_struct;
+/*
+ * Structure used to indirect fd's from the files_struct.
+ * Needed as POSIX locking is based on file and process, not
+ * file descriptor and process.
+ */
+
typedef struct
{
- int cnum;
+ uint16 ref_count;
+ int32 dev;
+ int32 inode;
int fd;
+ int fd_readonly;
+ int fd_writeonly;
+ int real_open_flags;
+} file_fd_struct;
+
+typedef struct
+{
+ int cnum;
+ file_fd_struct *fd_ptr;
int pos;
int size;
int mode;
@@ -297,7 +314,7 @@ typedef struct
char *mmap_ptr;
int mmap_size;
write_bmpx_struct *wbmpx_ptr;
- time_t open_time;
+ struct timeval open_time;
BOOL open;
BOOL can_lock;
BOOL can_read;
@@ -405,7 +422,7 @@ typedef struct
shm_offset_t next_offset; /* offset of next record in list in shared mem */
int locking_version;
int share_mode;
- time_t time;
+ struct timeval time;
int pid;
dev_t st_dev;
ino_t st_ino;
@@ -428,7 +445,7 @@ struct connect_record
};
-#define LOCKING_VERSION 2
+#define LOCKING_VERSION 3
/* these are useful macros for checking validity of handles */
#define VALID_FNUM(fnum) (((fnum) >= 0) && ((fnum) < MAX_OPEN_FILES))
diff --git a/source3/include/version.h b/source3/include/version.h
index ff567e4e59..9bad7178c4 100644
--- a/source3/include/version.h
+++ b/source3/include/version.h
@@ -1 +1 @@
-#define VERSION "1.9.16p9"
+#define VERSION "1.9.16p10"