summaryrefslogtreecommitdiffstats
path: root/source/include
diff options
context:
space:
mode:
authorSamba Release Account <samba-bugs@samba.org>1997-01-09 18:02:17 +0000
committerSamba Release Account <samba-bugs@samba.org>1997-01-09 18:02:17 +0000
commit03d28fa32eb094affa33133ebe2602fdb70f6361 (patch)
tree4ae66f17709d196d5c39079292e21ec4a96a438f /source/include
parenta5b75840f2df6947fd7af2001b8a59c627327da5 (diff)
downloadsamba-03d28fa32eb094affa33133ebe2602fdb70f6361.tar.gz
samba-03d28fa32eb094affa33133ebe2602fdb70f6361.tar.xz
samba-03d28fa32eb094affa33133ebe2602fdb70f6361.zip
Makefile: Changes to split Solaris into Solaris2.3 and previous, and 2.4 and after from Paul Eggert.
Makefile: Added AMIGA changes from Rask Ingemann Lambertsen <rask@k4315.kampsax.dtu.dk>. charset.c: Patch for Western European Languages from Josef Hinteregger <joehtg@joehtg.co.at> charset.h: Patch for Western European Languages from Josef Hinteregger <joehtg@joehtg.co.at> clitar.c: Patch to re-sync after read fail from (lost contributor name, sorry). includes.h: Patch for AMIGA from Rask Ingemann Lambertsen <rask@k4315.kampsax.dtu.dk> includes.h: Patch for SunOS atexit by Jeremy (jra@cygnus.com) interface.c: Patch for AMIGA from Rask Ingemann Lambertsen <rask@k4315.kampsax.dtu.dk> kanji.h: Patch for Western European Languages from Josef Hinteregger <joehtg@joehtg.co.at> locking.c: Patch to fix file locking from Jeremy (jra@cygnus.com) locking.c: Patch to add granularity of lock files to usec by Jeremy (jra@cygnus.com) pipes.c: Patch to fix file locking from Jeremy (jra@cygnus.com) proto.h: Patch to fix file locking from Jeremy (jra@cygnus.com) reply.c: Patch to fix file locking from Jeremy (jra@cygnus.com) server.c: Patch to fix file locking from Jeremy (jra@cygnus.com) server.c: Patch for FAST_SHARE_MODE fix from (lost contributor name, sorry). smb.h: Patch to fix file locking from Jeremy (jra@cygnus.com) smb.h: Patch to add granularity of lock files to usec by Jeremy (jra@cygnus.com) status.c: Patch to fix file locking from Jeremy (jra@cygnus.com) statuc.c: Patch to add granularity of lock files to usec by Jeremy (jra@cygnus.com) system.c: Patch for Western European Languages from Josef Hinteregger <joehtg@joehtg.co.at> trans2.c: Patch to fix file locking from Jeremy (jra@cygnus.com) trans2.c: Patch to fix volume name reported to Win95 from Jeremy (jra@cygnus.com) util.c: Patch for Western European Languages from Josef Hinteregger <joehtg@joehtg.co.at> util.c: Patch to fix client_name from continuously returning UNKNOWN (from various contributors). version.h: Update to 1.9.16p10.
Diffstat (limited to 'source/include')
-rw-r--r--source/include/charset.h12
-rw-r--r--source/include/includes.h44
-rw-r--r--source/include/kanji.h4
-rw-r--r--source/include/proto.h2
-rw-r--r--source/include/smb.h25
-rw-r--r--source/include/version.h2
6 files changed, 75 insertions, 14 deletions
diff --git a/source/include/charset.h b/source/include/charset.h
index 14b6ec2020f..72a8810e424 100644
--- a/source/include/charset.h
+++ b/source/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/source/include/includes.h b/source/include/includes.h
index 0b989df20db..0e93df35fd2 100644
--- a/source/include/includes.h
+++ b/source/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/source/include/kanji.h b/source/include/kanji.h
index 4f18305c637..6bc88b704db 100644
--- a/source/include/kanji.h
+++ b/source/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/source/include/proto.h b/source/include/proto.h
index 3ba06116ed2..bbe74e32702 100644
--- a/source/include/proto.h
+++ b/source/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/source/include/smb.h b/source/include/smb.h
index f499459f98a..bbb477f5f77 100644
--- a/source/include/smb.h
+++ b/source/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/source/include/version.h b/source/include/version.h
index ff567e4e59c..9bad7178c43 100644
--- a/source/include/version.h
+++ b/source/include/version.h
@@ -1 +1 @@
-#define VERSION "1.9.16p9"
+#define VERSION "1.9.16p10"