More abstraction of file system data types, to move to a 64
authorJeremy Allison <jra@samba.org>
Tue, 1 Sep 1998 20:11:54 +0000 (20:11 +0000)
committerJeremy Allison <jra@samba.org>
Tue, 1 Sep 1998 20:11:54 +0000 (20:11 +0000)
bit file interface for the NT SMB's.

Created a new define, SMB_STRUCT_STAT that currently is
defined to be struct stat - this wil change to a user
defined type containing 64 bit info when the correct
wrappers are written for 64 bit stat(), fstat() and lstat()
calls.

Also changed all sys_xxxx() calls that were previously just
wrappers to the same call prefixed by a dos_to_unix() call
into dos_xxxx() calls. This makes it explicit when a pathname
translation is being done, and when it is not.

Now, all sys_xxx() calls are meant to be wrappers to mask
OS differences, and not silently converting filenames on
the fly.

Jeremy.
(This used to be commit 28aa182dbffaa4ffd86047e608400de4b26e80eb)

32 files changed:
source3/client/client.c
source3/client/clitar.c
source3/client/smbmnt.c
source3/include/includes.h
source3/include/proto.h
source3/lib/charset.c
source3/lib/debug.c
source3/lib/genrand.c
source3/lib/netatalk.c
source3/lib/smbrun.c
source3/lib/system.c
source3/lib/time.c
source3/lib/util.c
source3/locking/locking_slow.c
source3/passdb/passdb.c
source3/printing/printing.c
source3/smbd/dir.c
source3/smbd/dosmode.c
source3/smbd/fileio.c
source3/smbd/filename.c
source3/smbd/files.c
source3/smbd/groupname.c
source3/smbd/ipc.c
source3/smbd/nttrans.c
source3/smbd/open.c
source3/smbd/predict.c
source3/smbd/quotas.c
source3/smbd/reply.c
source3/smbd/trans2.c
source3/utils/make_smbcodepage.c
source3/utils/testparm.c
source3/web/cgi.c

index 855d4cc2debaa35ab81708edc0fbc622ba5087cc..0b98d1f670610f4b43f8327a65407560927894dc 100644 (file)
@@ -1528,7 +1528,7 @@ static void do_mget(file_info *finfo)
          strlower(finfo->name);
 
        if (!directory_exist(finfo->name,NULL) && 
-           sys_mkdir(finfo->name,0777) != 0) 
+           dos_mkdir(finfo->name,0777) != 0) 
          {
            DEBUG(0,("failed to create directory %s\n",CNV_LANG(finfo->name)));
            pstrcpy(cur_dir,saved_curdir);
@@ -1536,7 +1536,7 @@ static void do_mget(file_info *finfo)
            return;
          }
 
-       if (sys_chdir(finfo->name) != 0)
+       if (dos_chdir(finfo->name) != 0)
          {
            DEBUG(0,("failed to chdir to directory %s\n",CNV_LANG(finfo->name)));
            pstrcpy(cur_dir,saved_curdir);
@@ -1998,7 +1998,7 @@ static void cmd_put(char *dum_in, char *dum_out)
   dos_clean_name(rname);
 
   {
-    struct stat st;
+    SMB_STRUCT_STAT st;
     /* allow '-' to represent stdin
        jdblair, 24.jun.98 */
     if (!file_exist(lname,&st) &&
@@ -2060,7 +2060,7 @@ static void cmd_mput(char *dum_in, char *dum_out)
   
   while (next_token(NULL,p,NULL,sizeof(buf)))
     {
-      struct stat st;
+      SMB_STRUCT_STAT st;
       pstring cmd;
       pstring tmpname;
       FILE *f;
@@ -2816,10 +2816,10 @@ static void cmd_newer(char *dum_in, char *dum_out)
 {
   fstring buf;
   BOOL ok;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
 
   ok = next_token(NULL,buf,NULL,sizeof(buf));
-  if (ok && (sys_stat(buf,&sbuf) == 0))
+  if (ok && (dos_stat(buf,&sbuf) == 0))
     {
       newer_than = sbuf.st_mtime;
       DEBUG(1,("Getting files newer than %s",
@@ -2923,7 +2923,7 @@ static void cmd_lcd(char *dum_in, char *dum_out)
   pstring d;
 
   if (next_token(NULL,buf,NULL,sizeof(buf)))
-    sys_chdir(buf);
+    dos_chdir(buf);
   DEBUG(2,("the local directory is now %s\n",GetWd(d)));
 }
 
index 47903d20bebad0efa5ffdc8d4829c7b540e82816..66421546833c2860d3c9215591a96f6f38a2e3f6 100644 (file)
@@ -440,7 +440,7 @@ Write two zero blocks at end of file
 ****************************************************************************/
 static void dotareof(int f)
 {
-  struct stat stbuf;
+  SMB_STRUCT_STAT stbuf;
   /* Two zero blocks at end of file, write out full buffer */
 
   (void) dozerobuf(f, TBLOCK);
@@ -2462,10 +2462,10 @@ int tar_parseargs(int argc, char *argv[], char *Optarg, int Optind)
        DEBUG(0,("Option N must be followed by valid file name\n"));
        return 0;
       } else {
-       struct stat stbuf;
+       SMB_STRUCT_STAT stbuf;
        extern time_t newer_than;
        
-       if (sys_stat(argv[Optind], &stbuf) == 0) {
+       if (dos_stat(argv[Optind], &stbuf) == 0) {
          newer_than = stbuf.st_mtime;
          DEBUG(1,("Getting files newer than %s",
                   asctime(LocalTime(&newer_than))));
index 9f8eea1cac5d5ab723b74cd30f545b6b364b2a16..9fb0dba99d81aed9fb0d57013c57f515edff9e1f 100644 (file)
@@ -138,7 +138,7 @@ fullpath(const char *p)
 
 /* Check whether user is allowed to mount on the specified mount point */
 static int
-mount_ok(struct stat *st)
+mount_ok(SMB_STRUCT_STAT *st)
 {
         if (!S_ISDIR(st->st_mode))
         {
@@ -165,7 +165,7 @@ main(int argc, char *argv[])
        int fd, um;
        unsigned int flags;
        struct smb_mount_data data;
-       struct stat st;
+       SMB_STRUCT_STAT st;
        struct mntent ment;
 
         progname = argv[0];
index 8b7620e4f978a68b42facaa83542e3b4506cccbe..15112cb1636ad5e45d592cc5755835ce18274f5a 100644 (file)
 #define SMB_INO_T uint32
 #endif
 
+/*
+ * Type for stat structure. This will
+ * soon change to a user defined type
+ * once we wrap stat(), fstat() and lstat()
+ * for 64 bit file sizes. JRA.
+ */
+
+#ifndef SMB_STRUCT_STAT
+#define SMB_STRUCT_STAT struct stat
+#endif
+
 #ifndef MIN
 #define MIN(a,b) ((a)<(b)?(a):(b))
 #endif
index 3bc2a132a0d8f4c3ffd6ec21eeafbe0234344c7a..01ae342f98fe78f4d31341c9fe0d918d206d468a 100644 (file)
@@ -165,18 +165,18 @@ int smbrun(char *cmd,char *outfile,BOOL shared);
 
 int sys_select(int maxfd, fd_set *fds,struct timeval *tval);
 int sys_select(int maxfd, fd_set *fds,struct timeval *tval);
-int sys_unlink(char *fname);
-int sys_open(char *fname,int flags,int mode);
-DIR *sys_opendir(char *dname);
-int sys_stat(char *fname,struct stat *sbuf);
+int dos_unlink(char *fname);
+int dos_open(char *fname,int flags,int mode);
+DIR *dos_opendir(char *dname);
+int dos_stat(char *fname,SMB_STRUCT_STAT *sbuf);
 int sys_waitpid(pid_t pid,int *status,int options);
-int sys_lstat(char *fname,struct stat *sbuf);
-int sys_mkdir(char *dname,int mode);
-int sys_rmdir(char *dname);
-int sys_chdir(char *dname);
-int sys_utime(char *fname,struct utimbuf *times);
-int sys_rename(char *from, char *to);
-int sys_chmod(char *fname,int mode);
+int dos_lstat(char *fname,struct stat *sbuf);
+int dos_mkdir(char *dname,int mode);
+int dos_rmdir(char *dname);
+int dos_chdir(char *dname);
+int dos_utime(char *fname,struct utimbuf *times);
+int dos_rename(char *from, char *to);
+int dos_chmod(char *fname,int mode);
 char *sys_getwd(char *s);
 int sys_chown(char *fname,int uid,int gid);
 int sys_chroot(char *dname);
@@ -199,7 +199,7 @@ time_t make_unix_date2(void *date_ptr);
 time_t make_unix_date3(void *date_ptr);
 char *http_timestring(time_t t);
 char *timestring(void );
-time_t get_create_time(struct stat *st,BOOL fake_dirs);
+time_t get_create_time(SMB_STRUCT_STAT *st,BOOL fake_dirs);
 
 /*The following definitions come from  lib/ufc.c  */
 
@@ -227,9 +227,9 @@ char *StrCpy(char *dest,char *src);
 char *StrnCpy(char *dest,char *src,int n);
 void putip(void *dest,void *src);
 int name_mangle( char *In, char *Out, char name_type );
-BOOL file_exist(char *fname,struct stat *sbuf);
+BOOL file_exist(char *fname,SMB_STRUCT_STAT *sbuf);
 time_t file_modtime(char *fname);
-BOOL directory_exist(char *dname,struct stat *st);
+BOOL directory_exist(char *dname,SMB_STRUCT_STAT *st);
 uint32 file_size(char *file_name);
 char *attrib_string(int mode);
 int StrCaseCmp(char *s, char *t);
@@ -1977,7 +1977,7 @@ BOOL dptr_fill(char *buf1,unsigned int key);
 BOOL dptr_zero(char *buf);
 void *dptr_fetch(char *buf,int *num);
 void *dptr_fetch_lanman2(int dptr_num);
-BOOL dir_check_ftype(connection_struct *conn,int mode,struct stat *st,int dirtype);
+BOOL dir_check_ftype(connection_struct *conn,int mode,SMB_STRUCT_STAT *st,int dirtype);
 BOOL get_dir_entry(connection_struct *conn,char *mask,int dirtype,char *fname,int *size,int *mode,time_t *date,BOOL check_descend);
 void *OpenDir(connection_struct *conn, char *name, BOOL use_veto);
 void CloseDir(void *p);
@@ -1991,8 +1991,8 @@ void DirCacheFlush(int snum);
 /*The following definitions come from  smbd/dosmode.c  */
 
 mode_t unix_mode(connection_struct *conn,int dosmode);
-int dos_mode(connection_struct *conn,char *path,struct stat *sbuf);
-int dos_chmod(connection_struct *conn,char *fname,int dosmode,struct stat *st);
+int dos_mode(connection_struct *conn,char *path,SMB_STRUCT_STAT *sbuf);
+int file_chmod(connection_struct *conn,char *fname,int dosmode,SMB_STRUCT_STAT *st);
 int file_utime(connection_struct *conn, char *fname, struct utimbuf *times);
 BOOL set_filetime(connection_struct *conn, char *fname, time_t mtime);
 
@@ -2015,14 +2015,14 @@ BOOL fname_equal(char *name1, char *name2);
 BOOL mangled_equal(char *name1, char *name2);
 void print_stat_cache_statistics(void);
 BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component, 
-                  BOOL *bad_path, struct stat *pst);
+                  BOOL *bad_path, SMB_STRUCT_STAT *pst);
 BOOL check_name(char *name,connection_struct *conn);
 BOOL scan_directory(char *path, char *name,connection_struct *conn,BOOL docache);
 
 /*The following definitions come from  smbd/files.c  */
 
 files_struct *file_new(void );
-file_fd_struct *fd_get_already_open(struct stat *sbuf);
+file_fd_struct *fd_get_already_open(SMB_STRUCT_STAT *sbuf);
 file_fd_struct *fd_get_new(void);
 void file_close_conn(connection_struct *conn);
 void file_init(void);
index abfa6fe7878cff1d028b278d3c1e03e2442a5039..55b76f2667e32093b2191c4ee6b29fb5a92f0e04 100644 (file)
@@ -191,7 +191,7 @@ static codepage_p load_client_codepage( int client_codepage )
   FILE *fp = NULL;
   unsigned int size;
   codepage_p cp_p = NULL;
-  struct stat st;
+  SMB_STRUCT_STAT st;
 
   DEBUG(5, ("load_client_codepage: loading codepage %d.\n", client_codepage));
 
index c20229fcdebcc4c52f229c23903741dd989af384..f5a0eadb96bd9e3e75de888b5e8cb2240e31bd1c 100644 (file)
@@ -249,7 +249,7 @@ void force_check_log_size( void )
 static void check_log_size( void )
   {
   int         maxlog;
-  struct stat st;
+  SMB_STRUCT_STAT st;
 
   if( debug_count++ < 100 || getuid() != 0 )
     return;
index 5e87275ce89a3d38663c789ac0032f7ea4635b78..c36cdd4b8c354b283e398ed4911fb6d49b3e8d6a 100644 (file)
@@ -56,7 +56,7 @@ static void do_filehash(char *fname, unsigned char *hash)
 
 static void do_dirrand(char *name, unsigned char *buf, int buf_len)
 {
-  void *dp = sys_opendir(name);
+  void *dp = dos_opendir(name);
   pstring fullname;
   int len_left;
   int fullname_len;
@@ -81,12 +81,12 @@ static void do_dirrand(char *name, unsigned char *buf, int buf_len)
     char *p;
 
     while ((p = readdirname(dp))) {           
-      struct stat st;
+      SMB_STRUCT_STAT st;
 
       if(strlen(p) <= len_left)
         pstrcpy(pos, p);
 
-      if(sys_stat(fullname,&st) == 0) {
+      if(dos_stat(fullname,&st) == 0) {
         SIVAL(buf, ((counter * 4)%(buf_len-4)), 
               IVAL(buf,((counter * 4)%(buf_len-4))) ^ st.st_atime);
         counter++;
index a11676b1e6d1172ef09ed5058982e527b053e235..421d74f3c5ff75c8659d0a5d9d0e2be3c890954d 100644 (file)
@@ -82,7 +82,7 @@ int ntalk_mkresdir(const char *fname)
   char fdir[255];
   int i;
   int lastslash;
-  struct stat dirstats;
+  SMB_STRUCT_STAT dirstats;
   char appledouble[] = APPLEDOUBLE;
 
   /* find directory containing fname */
index fcb14378a00c37e193fe0a829edef33c380b9296..56fcd68ec199a64b5112287fd925615c4181ce0b 100644 (file)
@@ -33,7 +33,7 @@ the child as it may leave the caller in a privilaged state.
 static BOOL setup_stdout_file(char *outfile,BOOL shared)
 {  
   int fd;
-  struct stat st;
+  SMB_STRUCT_STAT st;
   mode_t mode = S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH;
   int flags = O_RDWR|O_CREAT|O_TRUNC|O_EXCL;
 
index d569b80a748578b071349ec0a9174714bca663cf..d3612f8b2559921db38c19d9b960641f2a08224a 100644 (file)
@@ -141,36 +141,36 @@ int sys_select(int maxfd, fd_set *fds,struct timeval *tval)
 
 
 /*******************************************************************
-just a unlink wrapper
+just a unlink wrapper that calls dos_to_unix.
 ********************************************************************/
-int sys_unlink(char *fname)
+int dos_unlink(char *fname)
 {
   return(unlink(dos_to_unix(fname,False)));
 }
 
 
 /*******************************************************************
-a simple open() wrapper
+a simple open() wrapper that calls dos_to_unix.
 ********************************************************************/
-int sys_open(char *fname,int flags,int mode)
+int dos_open(char *fname,int flags,int mode)
 {
   return(open(dos_to_unix(fname,False),flags,mode));
 }
 
 
 /*******************************************************************
-a simple opendir() wrapper
+a simple opendir() wrapper that calls dos_to_unix
 ********************************************************************/
-DIR *sys_opendir(char *dname)
+DIR *dos_opendir(char *dname)
 {
        return(opendir(dos_to_unix(dname,False)));
 }
 
 
 /*******************************************************************
-and a stat() wrapper
+and a stat() wrapper that calls dos_to_unix.
 ********************************************************************/
-int sys_stat(char *fname,struct stat *sbuf)
+int dos_stat(char *fname,SMB_STRUCT_STAT *sbuf)
 {
   return(stat(dos_to_unix(fname,False),sbuf));
 }
@@ -188,45 +188,45 @@ int sys_waitpid(pid_t pid,int *status,int options)
 }
 
 /*******************************************************************
-don't forget lstat()
+don't forget lstat() that calls dos_to_unix.
 ********************************************************************/
-int sys_lstat(char *fname,struct stat *sbuf)
+int dos_lstat(char *fname,struct stat *sbuf)
 {
   return(lstat(dos_to_unix(fname,False),sbuf));
 }
 
 
 /*******************************************************************
-mkdir() gets a wrapper
+mkdir() gets a wrapper that calls dos_to_unix.
 ********************************************************************/
-int sys_mkdir(char *dname,int mode)
+int dos_mkdir(char *dname,int mode)
 {
   return(mkdir(dos_to_unix(dname,False),mode));
 }
 
 
 /*******************************************************************
-do does rmdir()
+do does rmdir() - call dos_to_unix
 ********************************************************************/
-int sys_rmdir(char *dname)
+int dos_rmdir(char *dname)
 {
   return(rmdir(dos_to_unix(dname,False)));
 }
 
 
 /*******************************************************************
-I almost forgot chdir()
+I almost forgot chdir() - call dos_to_unix.
 ********************************************************************/
-int sys_chdir(char *dname)
+int dos_chdir(char *dname)
 {
   return(chdir(dos_to_unix(dname,False)));
 }
 
 
 /*******************************************************************
-now for utime()
+now for utime() - call dos_to_unix.
 ********************************************************************/
-int sys_utime(char *fname,struct utimbuf *times)
+int dos_utime(char *fname,struct utimbuf *times)
 {
   /* if the modtime is 0 or -1 then ignore the call and
      return success */
@@ -344,9 +344,9 @@ static int copy_reg(char *source, const char *dest)
 }
 
 /*******************************************************************
-for rename()
+for rename() - call dos_to_unix.
 ********************************************************************/
-int sys_rename(char *from, char *to)
+int dos_rename(char *from, char *to)
 {
     int rcode;  
     pstring zfrom, zto;
@@ -364,9 +364,9 @@ int sys_rename(char *from, char *to)
 }
 
 /*******************************************************************
-for chmod
+for chmod - call dos_to_unix.
 ********************************************************************/
-int sys_chmod(char *fname,int mode)
+int dos_chmod(char *fname,int mode)
 {
   return(chmod(dos_to_unix(fname,False),mode));
 }
index 6eacf2a5ed2c471b69f46658108d877d669120f4..7b7ca51204ec0b97edafe4a9cf829b7dbdc69855 100644 (file)
@@ -513,7 +513,7 @@ char *timestring(void )
   structure.
 ****************************************************************************/
 
-time_t get_create_time(struct stat *st,BOOL fake_dirs)
+time_t get_create_time(SMB_STRUCT_STAT *st,BOOL fake_dirs)
 {
   time_t ret, ret1;
 
index 619d474d6d0b8cf184e63e08e6343ff7a46c9c7a..41877874890e160d3e3e3ee2964461f534cd295d 100644 (file)
@@ -520,12 +520,12 @@ int name_mangle( char *In, char *Out, char name_type )
 /*******************************************************************
   check if a file exists
 ********************************************************************/
-BOOL file_exist(char *fname,struct stat *sbuf)
+BOOL file_exist(char *fname,SMB_STRUCT_STAT *sbuf)
 {
-  struct stat st;
+  SMB_STRUCT_STAT st;
   if (!sbuf) sbuf = &st;
   
-  if (sys_stat(fname,sbuf) != 0) 
+  if (dos_stat(fname,sbuf) != 0) 
     return(False);
 
   return(S_ISREG(sbuf->st_mode));
@@ -536,9 +536,9 @@ check a files mod time
 ********************************************************************/
 time_t file_modtime(char *fname)
 {
-  struct stat st;
+  SMB_STRUCT_STAT st;
   
-  if (sys_stat(fname,&st) != 0) 
+  if (dos_stat(fname,&st) != 0) 
     return(0);
 
   return(st.st_mtime);
@@ -547,14 +547,14 @@ time_t file_modtime(char *fname)
 /*******************************************************************
   check if a directory exists
 ********************************************************************/
-BOOL directory_exist(char *dname,struct stat *st)
+BOOL directory_exist(char *dname,SMB_STRUCT_STAT *st)
 {
-  struct stat st2;
+  SMB_STRUCT_STAT st2;
   BOOL ret;
 
   if (!st) st = &st2;
 
-  if (sys_stat(dname,st) != 0) 
+  if (dos_stat(dname,st) != 0) 
     return(False);
 
   ret = S_ISDIR(st->st_mode);
@@ -568,9 +568,9 @@ returns the size in bytes of the named file
 ********************************************************************/
 uint32 file_size(char *file_name)
 {
-  struct stat buf;
+  SMB_STRUCT_STAT buf;
   buf.st_size = 0;
-  sys_stat(file_name,&buf);
+  dos_stat(file_name,&buf);
   return(buf.st_size);
 }
 
@@ -1205,7 +1205,7 @@ int ChDir(char *path)
 
   if (*path == '/' && strcsequal(LastDir,path)) return(0);
   DEBUG(3,("chdir to %s\n",path));
-  res = sys_chdir(path);
+  res = dos_chdir(path);
   if (!res)
     pstrcpy(LastDir,path);
   return(res);
@@ -1233,7 +1233,7 @@ char *GetWd(char *str)
 {
   pstring s;
   static BOOL getwd_cache_init = False;
-  struct stat st, st2;
+  SMB_STRUCT_STAT st, st2;
   int i;
 
   *s = 0;
@@ -3270,7 +3270,7 @@ int set_filelen(int fd, long len)
 #ifdef HAVE_FTRUNCATE_EXTEND
   return ftruncate(fd, len);
 #else
-  struct stat st;
+  SMB_STRUCT_STAT st;
   char c = 0;
   long currpos = lseek(fd, 0L, SEEK_CUR);
 
index 0a766c9ab9457e56a600193d493f5ec1e7a90ea7..4c2ba43cd8e1c9ead95c3f09a7df732f7d565d4b 100644 (file)
@@ -159,7 +159,7 @@ static BOOL slow_lock_share_entry(connection_struct *conn,
 
     do
     {
-      struct stat dummy_stat;
+      SMB_STRUCT_STAT dummy_stat;
 
       fd = (int)open(fname,read_only?O_RDONLY:(O_RDWR|O_CREAT),
                     SHARE_FILE_MODE);
@@ -221,7 +221,7 @@ static BOOL slow_unlock_share_entry(connection_struct *conn,
 {
   int fd = token;
   int ret = True;
-  struct stat sb;
+  SMB_STRUCT_STAT sb;
   pstring fname;
 
   if (read_only) return True;
@@ -267,7 +267,7 @@ Read a share file into a buffer.
 ********************************************************************/
 static int read_share_file(connection_struct *conn, int fd, char *fname, char **out, BOOL *p_new_file)
 {
-  struct stat sb;
+  SMB_STRUCT_STAT sb;
   char *buf;
   int size;
 
@@ -680,7 +680,7 @@ static BOOL slow_set_share_mode(int token,files_struct *fsp, uint16 port, uint16
   pstring fname;
   int fd = (int)token;
   int pid = (int)getpid();
-  struct stat sb;
+  SMB_STRUCT_STAT sb;
   char *buf;
   int num_entries;
   int header_size;
index 0d806fccf734f9155176767529dc5c98c0d708c4..e58d0d5b002cd54a9d091a4707b0dd673b7e13ba 100644 (file)
@@ -901,7 +901,7 @@ BOOL pdb_generate_machine_sid(void)
        char *p;
        pstring sid_file;
        fstring sid_string;
-       struct stat st;
+       SMB_STRUCT_STAT st;
        uchar raw_sid_data[12];
 
        pstrcpy(sid_file, lp_smb_passwd_file());
@@ -911,7 +911,7 @@ BOOL pdb_generate_machine_sid(void)
        }
 
        if (!directory_exist(sid_file, NULL)) {
-               if (sys_mkdir(sid_file, 0700) != 0) {
+               if (dos_mkdir(sid_file, 0700) != 0) {
                        DEBUG(0,("generate_machine_sid: can't create private directory %s : %s\n",
                                 sid_file, strerror(errno)));
                        return False;
index fae4c1cc05e0ec1c0419c26357b3ca5e25e39955..45a9515b51e1ea172768991d8a1a9c802c65d714 100644 (file)
@@ -112,7 +112,7 @@ void print_file(connection_struct *conn, files_struct *file)
 
        if (file_size(file->fsp_name) <= 0) {
                DEBUG(3,("Discarding null print job %s\n",file->fsp_name));
-               sys_unlink(file->fsp_name);
+               dos_unlink(file->fsp_name);
                return;
        }
 
@@ -1033,7 +1033,7 @@ int get_printqueue(int snum,
        fstring outfile;
        pstring line;
        FILE *f;
-       struct stat sbuf;
+       SMB_STRUCT_STAT sbuf;
        BOOL dorun=True;
        int cachetime = lp_lpqcachetime();
        
index 42ed68f71300ec52e582db560641487d95221c07..7c81b826d1a37ce207e001ccb54dd208e00b77b3 100644 (file)
@@ -408,7 +408,7 @@ void *dptr_fetch_lanman2(int dptr_num)
 /****************************************************************************
 check a filetype for being valid
 ****************************************************************************/
-BOOL dir_check_ftype(connection_struct *conn,int mode,struct stat *st,int dirtype)
+BOOL dir_check_ftype(connection_struct *conn,int mode,SMB_STRUCT_STAT *st,int dirtype)
 {
   if (((mode & ~dirtype) & (aHIDDEN | aSYSTEM | aDIR)) != 0)
     return False;
@@ -422,7 +422,7 @@ BOOL get_dir_entry(connection_struct *conn,char *mask,int dirtype,char *fname,in
 {
   char *dname;
   BOOL found = False;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   pstring path;
   pstring pathreal;
   BOOL isrootdir;
@@ -471,7 +471,7 @@ BOOL get_dir_entry(connection_struct *conn,char *mask,int dirtype,char *fname,in
          pstrcpy(pathreal,path);
          pstrcat(path,fname);
          pstrcat(pathreal,dname);
-         if (sys_stat(pathreal,&sbuf) != 0) 
+         if (dos_stat(pathreal,&sbuf) != 0) 
            {
              DEBUG(5,("Couldn't stat 1 [%s]\n",path));
              continue;
@@ -519,7 +519,7 @@ void *OpenDir(connection_struct *conn, char *name, BOOL use_veto)
 {
   Dir *dirp;
   char *n;
-  void *p = sys_opendir(name);
+  void *p = dos_opendir(name);
   int used=0;
 
   if (!p) return(NULL);
index da7fdfb9730a81479a5ebd091aca9fa10f572e35..1336e27281ba5d849d540b3fc39fb7f4b97db1b1 100644 (file)
@@ -75,7 +75,7 @@ mode_t unix_mode(connection_struct *conn,int dosmode)
 /****************************************************************************
   change a unix mode to a dos mode
 ****************************************************************************/
-int dos_mode(connection_struct *conn,char *path,struct stat *sbuf)
+int dos_mode(connection_struct *conn,char *path,SMB_STRUCT_STAT *sbuf)
 {
   int result = 0;
 
@@ -139,16 +139,16 @@ int dos_mode(connection_struct *conn,char *path,struct stat *sbuf)
 /*******************************************************************
 chmod a file - but preserve some bits
 ********************************************************************/
-int dos_chmod(connection_struct *conn,char *fname,int dosmode,struct stat *st)
+int file_chmod(connection_struct *conn,char *fname,int dosmode,SMB_STRUCT_STAT *st)
 {
-  struct stat st1;
+  SMB_STRUCT_STAT st1;
   int mask=0;
   int tmp;
   int unixmode;
 
   if (!st) {
     st = &st1;
-    if (sys_stat(fname,st)) return(-1);
+    if (dos_stat(fname,st)) return(-1);
   }
 
   if (S_ISDIR(st->st_mode)) dosmode |= aDIR;
@@ -186,23 +186,23 @@ int dos_chmod(connection_struct *conn,char *fname,int dosmode,struct stat *st)
     unixmode |= tmp;
   }
 
-  return(sys_chmod(fname,unixmode));
+  return(dos_chmod(fname,unixmode));
 }
 
 
 /*******************************************************************
-Wrapper around sys_utime that possibly allows DOS semantics rather
+Wrapper around dos_utime that possibly allows DOS semantics rather
 than POSIX.
 *******************************************************************/
 int file_utime(connection_struct *conn, char *fname, struct utimbuf *times)
 {
   extern struct current_user current_user;
-  struct stat sb;
+  SMB_STRUCT_STAT sb;
   int ret = -1;
 
   errno = 0;
 
-  if(sys_utime(fname, times) == 0)
+  if(dos_utime(fname, times) == 0)
     return 0;
 
   if((errno != EPERM) && (errno != EACCES))
@@ -217,7 +217,7 @@ int file_utime(connection_struct *conn, char *fname, struct utimbuf *times)
      (as DOS does).
    */
 
-  if(sys_stat(fname,&sb) != 0)
+  if(dos_stat(fname,&sb) != 0)
     return -1;
 
   /* Check if we have write access. */
@@ -230,7 +230,7 @@ int file_utime(connection_struct *conn, char *fname, struct utimbuf *times)
                         current_user.ngroups,current_user.groups)))) {
                  /* We are allowed to become root and change the filetime. */
                  become_root(False);
-                 ret = sys_utime(fname, times);
+                 ret = dos_utime(fname, times);
                  unbecome_root(False);
          }
   }
index 971d309ff9861e07b3732ed23f9338ced45b3143..047c84f35fe9a484295d176f328f245a928159ea 100644 (file)
@@ -102,12 +102,12 @@ int write_file(files_struct *fsp,char *data,int n)
   }
 
   if (!fsp->modified) {
-    struct stat st;
+    SMB_STRUCT_STAT st;
     fsp->modified = True;
     if (fstat(fsp->fd_ptr->fd,&st) == 0) {
       int dosmode = dos_mode(fsp->conn,fsp->fsp_name,&st);
       if (MAP_ARCHIVE(fsp->conn) && !IS_DOS_ARCHIVE(dosmode)) {        
-       dos_chmod(fsp->conn,fsp->fsp_name,dosmode | aARCH,&st);
+        file_chmod(fsp->conn,fsp->fsp_name,dosmode | aARCH,&st);
       }
     }  
   }
index 9112828092865274d603103223789c2fd0839efe..3bc69210b935ce498039acb382d57d08459704a9 100644 (file)
@@ -231,7 +231,7 @@ static void stat_cache_add( char *full_orig_name, char *orig_translated_path)
  Return True if we translated (and did a scuccessful stat on) the entire name.
 *****************************************************************************/
 
-static BOOL stat_cache_lookup( char *name, char *dirpath, char **start, struct stat *pst)
+static BOOL stat_cache_lookup( char *name, char *dirpath, char **start, SMB_STRUCT_STAT *pst)
 {
   stat_cache_entry *scp;
   stat_cache_entry *longest_hit = NULL;
@@ -275,7 +275,7 @@ static BOOL stat_cache_lookup( char *name, char *dirpath, char **start, struct s
    * and then promote it to the top.
    */
 
-  if(sys_stat( longest_hit->translated_name, pst) != 0) {
+  if(dos_stat( longest_hit->translated_name, pst) != 0) {
     /*
      * Discard this entry.
      */
@@ -322,9 +322,9 @@ of a pathname does not exist.
 ****************************************************************************/
 
 BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component, 
-                  BOOL *bad_path, struct stat *pst)
+                  BOOL *bad_path, SMB_STRUCT_STAT *pst)
 {
-  struct stat st;
+  SMB_STRUCT_STAT st;
   char *start, *end, *orig_start;
   pstring dirpath;
   pstring orig_path;
@@ -335,7 +335,7 @@ BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component,
   *dirpath = 0;
   *bad_path = False;
   if(pst)
-    memset( (char *)pst, '\0', sizeof(struct stat));
+    memset( (char *)pst, '\0', sizeof(SMB_STRUCT_STAT));
 
   if(saved_last_component)
     *saved_last_component = 0;
@@ -406,7 +406,7 @@ BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component,
    * stat the name - if it exists then we are all done!
    */
 
-  if (sys_stat(name,&st) == 0) {
+  if (dos_stat(name,&st) == 0) {
     stat_cache_add(orig_path, name);
     DEBUG(5,("conversion finished %s -> %s\n",orig_path, name));
     if(pst)
@@ -459,7 +459,7 @@ BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component,
       /* 
        * Check if the name exists up to this point.
        */
-      if (sys_stat(name, &st) == 0) {
+      if (dos_stat(name, &st) == 0) {
         /*
          * It exists. it must either be a directory or this must be
          * the last part of the path for it to be OK.
@@ -611,8 +611,8 @@ BOOL check_name(char *name,connection_struct *conn)
 #ifdef S_ISLNK
   if (!lp_symlinks(SNUM(conn)))
     {
-      struct stat statbuf;
-      if ( (sys_lstat(name,&statbuf) != -1) &&
+      SMB_STRUCT_STAT statbuf;
+      if ( (dos_lstat(name,&statbuf) != -1) &&
           (S_ISLNK(statbuf.st_mode)) )
         {
           DEBUG(3,("check_name: denied: file path name %s is a symlink\n",name));
index d098677fba3510fea3a4ecd284ab8f31e5842fb5..341d9946ec73efca7a057160f65f11bc663e6a7d 100644 (file)
@@ -117,7 +117,7 @@ files_struct *file_new(void )
 fd support routines - attempt to find an already open file by dev
 and inode - increments the ref_count of the returned file_fd_struct *.
 ****************************************************************************/
-file_fd_struct *fd_get_already_open(struct stat *sbuf)
+file_fd_struct *fd_get_already_open(SMB_STRUCT_STAT *sbuf)
 {
        file_fd_struct *fd_ptr;
 
index 3183c5c83c3bce73cad3dce203d7d4d9ec52c2a6..6616d0d157fb530502ec5e0d572ecedbb9da1d20 100644 (file)
@@ -68,7 +68,7 @@ void load_groupname_map(void)
   static time_t groupmap_file_last_modified = (time_t)0;
   static BOOL initialized = False;
   char *groupname_map_file = lp_groupname_map();
-  struct stat st;
+  SMB_STRUCT_STAT st;
   FILE *fp;
   char *s;
   pstring buf;
index 7c0a51f7859e55f9191023f9c427e8aca6e82a88..e3b39e6eb22791fc7de0d3b7fb30fe7430b4a73d 100644 (file)
@@ -1985,7 +1985,7 @@ static BOOL api_PrintJobInfo(connection_struct *conn,uint16 vuid,char *param,cha
                                    !become_service(fconn,True))
                                        break;
              
-                               if (sys_rename(fsp->fsp_name,name) == 0) {
+                               if (dos_rename(fsp->fsp_name,name) == 0) {
                                        string_set(&fsp->fsp_name,name);
                                }
                                break;
index fbcc19e77d84c8998a7ce211cdf0c97417261344..9e507aa4d2585a95120bf9a5106f25a0d113f2d0 100644 (file)
@@ -416,7 +416,7 @@ int reply_ntcreate_and_X(connection_struct *conn,
        int unixmode, pnum = -1;
        int fmode=0,mtime=0,rmode=0;
        off_t file_len = 0;
-       struct stat sbuf;
+       SMB_STRUCT_STAT sbuf;
        int smb_action = 0;
        BOOL bad_path = False;
        files_struct *fsp=NULL;
@@ -596,7 +596,7 @@ int reply_ntcreate_and_X(connection_struct *conn,
        }
                
        if(fsp->is_directory) {
-               if(sys_stat(fsp->fsp_name, &sbuf) != 0) {
+               if(dos_stat(fsp->fsp_name, &sbuf) != 0) {
                        close_directory(fsp);
                        restore_case_semantics(file_attributes);
                        return(ERROR(ERRDOS,ERRnoaccess));
@@ -701,7 +701,7 @@ static int call_nt_transact_create(connection_struct *conn,
   int unixmode, pnum = -1;
   int fmode=0,mtime=0,rmode=0;
   off_t file_len = 0;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   int smb_action = 0;
   BOOL bad_path = False;
   files_struct *fsp = NULL;
@@ -1084,7 +1084,7 @@ void process_pending_change_notify_queue(time_t t)
    */
 
   while((cnbp != NULL) && (cnbp->next_check_time <= t)) {
-    struct stat st;
+    SMB_STRUCT_STAT st;
     files_struct *fsp = cnbp->fsp;
     connection_struct *conn = cnbp->conn;
     uint16 vuid = (lp_security() == SEC_SHARE) ? UID_FIELD_INVALID : 
@@ -1121,7 +1121,7 @@ void process_pending_change_notify_queue(time_t t)
       continue;
     }
 
-    if(sys_stat(fsp->fsp_name, &st) < 0) {
+    if(dos_stat(fsp->fsp_name, &st) < 0) {
       DEBUG(0,("process_pending_change_notify_queue: Unable to stat directory %s. \
 Error was %s.\n", fsp->fsp_name, strerror(errno) ));
       /*
@@ -1171,7 +1171,7 @@ static int call_nt_transact_notify_change(connection_struct *conn,
   char *setup = *ppsetup;
   files_struct *fsp;
   change_notify_buf *cnbp;
-  struct stat st;
+  SMB_STRUCT_STAT st;
 
   fsp = file_fsp(setup,4);
 
@@ -1200,7 +1200,7 @@ static int call_nt_transact_notify_change(connection_struct *conn,
    * Store the current timestamp on the directory we are monitoring.
    */
 
-  if(sys_stat(fsp->fsp_name, &st) < 0) {
+  if(dos_stat(fsp->fsp_name, &st) < 0) {
     DEBUG(0,("call_nt_transact_notify_change: Unable to stat name = %s. \
 Error was %s\n", fsp->fsp_name, strerror(errno) ));
     free((char *)cnbp);
index 1a16a25c0a9dedbdbef8a46f001792c4645fb0a7..76e88c2e85e14a884e23c84135e87d5b8a26a037 100644 (file)
@@ -29,18 +29,18 @@ extern uint16 oplock_port;
 
 
 /****************************************************************************
-fd support routines - attempt to do a sys_open
+fd support routines - attempt to do a dos_open
 ****************************************************************************/
 static int fd_attempt_open(char *fname, int flags, int mode)
 {
-  int fd = sys_open(fname,flags,mode);
+  int fd = dos_open(fname,flags,mode);
 
   /* Fix for files ending in '.' */
   if((fd == -1) && (errno == ENOENT) &&
      (strchr(fname,'.')==NULL))
     {
       pstrcat(fname,".");
-      fd = sys_open(fname,flags,mode);
+      fd = dos_open(fname,flags,mode);
     }
 
 #if (defined(ENAMETOOLONG) && defined(HAVE_PATHCONF))
@@ -71,7 +71,7 @@ static int fd_attempt_open(char *fname, int flags, int mode)
           char tmp = p[max_len];
 
           p[max_len] = '\0';
-          if ((fd = sys_open(fname,flags,mode)) == -1)
+          if ((fd = dos_open(fname,flags,mode)) == -1)
             p[max_len] = tmp;
         }
     }
@@ -127,7 +127,7 @@ Save the already open fd (we cannot close due to POSIX file locking braindamage.
 ****************************************************************************/
 static void fd_attempt_reopen(char *fname, int mode, file_fd_struct *fd_ptr)
 {
-  int fd = sys_open( fname, O_RDWR, mode);
+  int fd = dos_open( fname, O_RDWR, mode);
 
   if(fd == -1)
     return;
@@ -266,11 +266,11 @@ static void check_for_pipe(char *fname)
 open a file
 ****************************************************************************/
 static void open_file(files_struct *fsp,connection_struct *conn,
-                     char *fname1,int flags,int mode, struct stat *sbuf)
+                     char *fname1,int flags,int mode, SMB_STRUCT_STAT *sbuf)
 {
   extern struct current_user current_user;
   pstring fname;
-  struct stat statbuf;
+  SMB_STRUCT_STAT statbuf;
   file_fd_struct *fd_ptr;
   int accmode = (flags & (O_RDONLY | O_WRONLY | O_RDWR));
 
@@ -324,7 +324,7 @@ static void open_file(files_struct *fsp,connection_struct *conn,
    * open fd table.
    */
   if(sbuf == 0) {
-    if(sys_stat(fname, &statbuf) < 0) {
+    if(dos_stat(fname, &statbuf) < 0) {
       if(errno != ENOENT) {
         DEBUG(3,("Error doing stat on file %s (%s)\n",
                  fname,strerror(errno)));
@@ -452,7 +452,7 @@ static void open_file(files_struct *fsp,connection_struct *conn,
       fd_attempt_close(fd_ptr);
       fsp->fd_ptr = 0;
       if(fd_ptr->ref_count == 0)
-        sys_unlink(fname);
+        dos_unlink(fname);
       errno = ENOSPC;
       return;
     }
@@ -591,7 +591,7 @@ void open_file_shared(files_struct *fsp,connection_struct *conn,char *fname,int
   int flags=0;
   int flags2=0;
   int deny_mode = (share_mode>>4)&7;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   BOOL file_existed = file_exist(fname,&sbuf);
   BOOL share_locked = False;
   BOOL fcbopen = False;
@@ -856,14 +856,14 @@ int open_directory(files_struct *fsp,connection_struct *conn,
                   char *fname, int smb_ofun, int unixmode, int *action)
 {
        extern struct current_user current_user;
-       struct stat st;
+       SMB_STRUCT_STAT st;
 
        if (smb_ofun & 0x10) {
                /*
                 * Create the directory.
                 */
 
-               if(sys_mkdir(fname, unixmode) < 0) {
+               if(dos_mkdir(fname, unixmode) < 0) {
                        DEBUG(0,("open_directory: unable to create %s. Error was %s\n",
                                 fname, strerror(errno) ));
                        return -1;
@@ -875,7 +875,7 @@ int open_directory(files_struct *fsp,connection_struct *conn,
                 * Check that it *was* a directory.
                 */
 
-               if(sys_stat(fname, &st) < 0) {
+               if(dos_stat(fname, &st) < 0) {
                        DEBUG(0,("open_directory: unable to stat name = %s. Error was %s\n",
                                 fname, strerror(errno) ));
                        return -1;
@@ -991,7 +991,7 @@ BOOL check_file_sharing(connection_struct *conn,char *fname, BOOL rename_op)
   int ret = False;
   share_mode_entry *old_shares = 0;
   int num_share_modes;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   int token;
   int pid = getpid();
   SMB_DEV_T dev;
@@ -1000,7 +1000,7 @@ BOOL check_file_sharing(connection_struct *conn,char *fname, BOOL rename_op)
   if(!lp_share_modes(SNUM(conn)))
     return True;
 
-  if (sys_stat(fname,&sbuf) == -1) return(True);
+  if (dos_stat(fname,&sbuf) == -1) return(True);
 
   dev = sbuf.st_dev;
   inode = sbuf.st_ino;
index 6f6a4ca655c6db2de7d2acdbf7db88e66c3693f5..6e423c8efff7b8d896b481f215cdb43a48bdc6cf 100644 (file)
@@ -66,7 +66,7 @@ int read_predict(int fd,int offset,char *buf,char **ptr,int num)
   if (ret == num) {
     predict_skip = True;
   } else {
-    struct stat rp_stat;
+    SMB_STRUCT_STAT rp_stat;
 
     /* Find the end of the file - ensure we don't
        read predict beyond it. */
index dbdbd499213a0c4fbc61b31e2ce597dcb1085c2a..7f1cd5ce79390a2be8029519f76861522543a8b1 100644 (file)
@@ -51,7 +51,7 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
   uid_t euser_id;
   int r;
   struct dqblk D;
-  struct stat S;
+  SMB_STRUCT_STAT S;
   FILE *fp;
   struct mntent *mnt;
   int devno;
@@ -135,7 +135,7 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
 {
   struct mntent *mnt;
   FILE *fd;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   dev_t devno ;
   static dev_t devno_cached = 0 ;
   static pstring name;
@@ -255,7 +255,7 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
   static pstring name;
 #endif
   FILE *fd;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   dev_t devno ;
   static dev_t devno_cached = 0 ;
   int found ;
@@ -377,7 +377,7 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
   uid_t user_id, euser_id;
   int r, save_errno;
   struct dqblk D;
-  struct stat S;
+  SMB_STRUCT_STAT S;
 
   euser_id = geteuid();
   user_id = getuid();
@@ -433,7 +433,7 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
   int r;
   struct dqblk D;
   struct fs_disk_quota        F;
-  struct stat S;
+  SMB_STRUCT_STAT S;
   FILE *fp;
   struct mntent *mnt;
   int devno;
@@ -573,7 +573,7 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
   struct dqblk D;
 #if !defined(__FreeBSD__) && !defined(AIX) && !defined(__OpenBSD__)
   char dev_disk[256];
-  struct stat S;
+  SMB_STRUCT_STAT S;
   /* find the block device file */
   if ((stat(path, &S)<0) ||
       (devnm(S_IFBLK, S.st_dev, dev_disk, 256, 0)<0)) return (False);
index e30c31776c9cb5391e2a033b934f7fa1f43999a3..a3164bd67dde9587970c51377021e4aa6e84daae 100644 (file)
@@ -751,7 +751,7 @@ int reply_chkpth(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
   pstring name;
   BOOL ok = False;
   BOOL bad_path = False;
-  struct stat st;
+  SMB_STRUCT_STAT st;
  
   pstrcpy(name,smb_buf(inbuf) + 1);
   unix_convert(name,conn,0,&bad_path,&st);
@@ -806,7 +806,7 @@ int reply_getatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
 {
   pstring fname;
   int outsize = 0;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   BOOL ok = False;
   int mode=0;
   uint32 size=0;
@@ -829,7 +829,7 @@ int reply_getatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
   else
     if (check_name(fname,conn))
     {
-      if (VALID_STAT(sbuf) || sys_stat(fname,&sbuf) == 0)
+      if (VALID_STAT(sbuf) || dos_stat(fname,&sbuf) == 0)
       {
         mode = dos_mode(conn,fname,&sbuf);
         size = sbuf.st_size;
@@ -886,7 +886,7 @@ int reply_setatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
   BOOL ok=False;
   int mode;
   time_t mtime;
-  struct stat st;
+  SMB_STRUCT_STAT st;
   BOOL bad_path = False;
  
   pstrcpy(fname,smb_buf(inbuf) + 1);
@@ -898,7 +898,7 @@ int reply_setatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
   if (VALID_STAT_OF_DIR(st) || directory_exist(fname,NULL))
     mode |= aDIR;
   if (check_name(fname,conn))
-    ok =  (dos_chmod(conn,fname,mode,NULL) == 0);
+    ok =  (file_chmod(conn,fname,mode,NULL) == 0);
   if (ok)
     ok = set_filetime(conn,fname,mtime);
   
@@ -1248,7 +1248,7 @@ int reply_open(connection_struct *conn, char *inbuf,char *outbuf, int dum_size,
   time_t mtime=0;
   int unixmode;
   int rmode=0;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   BOOL bad_path = False;
   files_struct *fsp;
   int oplock_request = CORE_OPLOCK_REQUEST(inbuf);
@@ -1345,7 +1345,7 @@ int reply_open_and_X(connection_struct *conn, char *inbuf,char *outbuf,int lengt
   int smb_ofun = SVAL(inbuf,smb_vwv8);
   int unixmode;
   int size=0,fmode=0,mtime=0,rmode=0;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   int smb_action = 0;
   BOOL bad_path = False;
   files_struct *fsp;
@@ -1638,12 +1638,12 @@ check if a user is allowed to delete a file
 ********************************************************************/
 static BOOL can_delete(char *fname,connection_struct *conn, int dirtype)
 {
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   int fmode;
 
   if (!CAN_WRITE(conn)) return(False);
 
-  if (sys_lstat(fname,&sbuf) != 0) return(False);
+  if (dos_lstat(fname,&sbuf) != 0) return(False);
   fmode = dos_mode(conn,fname,&sbuf);
   if (fmode & aDIR) return(False);
   if (!lp_delete_readonly(SNUM(conn))) {
@@ -1700,7 +1700,7 @@ int reply_unlink(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
   if (!has_wild) {
     pstrcat(directory,"/");
     pstrcat(directory,mask);
-    if (can_delete(directory,conn,dirtype) && !sys_unlink(directory)) count++;
+    if (can_delete(directory,conn,dirtype) && !dos_unlink(directory)) count++;
     if (!count) exists = file_exist(directory,NULL);    
   } else {
     void *dirptr = NULL;
@@ -1731,7 +1731,7 @@ int reply_unlink(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
            error = ERRnoaccess;
            slprintf(fname,sizeof(fname)-1, "%s/%s",directory,dname);
            if (!can_delete(fname,conn,dirtype)) continue;
-           if (!sys_unlink(fname)) count++;
+           if (!dos_unlink(fname)) count++;
            DEBUG(3,("reply_unlink : doing unlink on %s\n",fname));
          }
        CloseDir(dirptr);
@@ -1813,7 +1813,7 @@ int reply_readbraw(connection_struct *conn, char *inbuf, char *outbuf, int dum_s
     int sizeneeded = startpos + maxcount;
            
     if (size < sizeneeded) {
-      struct stat st;
+      SMB_STRUCT_STAT st;
       if (fstat(fsp->fd_ptr->fd,&st) == 0)
         size = st.st_size;
       if (!fsp->can_write) 
@@ -2787,7 +2787,7 @@ int reply_mkdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size,
   unix_convert(directory,conn,0,&bad_path,NULL);
   
   if (check_name(directory, conn))
-    ret = sys_mkdir(directory,unix_mode(conn,aDIR));
+    ret = dos_mkdir(directory,unix_mode(conn,aDIR));
   
   if (ret < 0)
   {
@@ -2822,7 +2822,7 @@ static BOOL recursive_rmdir(char *directory)
   while((dname = ReadDirName(dirptr)))
   {
     pstring fullname;
-    struct stat st;
+    SMB_STRUCT_STAT st;
 
     if((strcmp(dname, ".") == 0) || (strcmp(dname, "..")==0))
       continue;
@@ -2838,7 +2838,7 @@ static BOOL recursive_rmdir(char *directory)
     pstrcat(fullname, "/");
     pstrcat(fullname, dname);
 
-    if(sys_lstat(fullname, &st) != 0)
+    if(dos_lstat(fullname, &st) != 0)
     {
       ret = True;
       break;
@@ -2851,13 +2851,13 @@ static BOOL recursive_rmdir(char *directory)
         ret = True;
         break;
       }
-      if(sys_rmdir(fullname) != 0)
+      if(dos_rmdir(fullname) != 0)
       {
         ret = True;
         break;
       }
     }
-    else if(sys_unlink(fullname) != 0)
+    else if(dos_unlink(fullname) != 0)
     {
       ret = True;
       break;
@@ -2884,7 +2884,7 @@ int reply_rmdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size,
     {
 
       dptr_closepath(directory,SVAL(inbuf,smb_pid));
-      ok = (sys_rmdir(directory) == 0);
+      ok = (dos_rmdir(directory) == 0);
       if(!ok && (errno == ENOTEMPTY) && lp_veto_files(SNUM(conn)))
         {
           /* Check to see if the only thing in this directory are
@@ -2914,7 +2914,7 @@ int reply_rmdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size,
                   while ((dname = ReadDirName(dirptr)))
                     {
                       pstring fullname;
-                      struct stat st;
+                      SMB_STRUCT_STAT st;
 
                       if((strcmp(dname, ".") == 0) || (strcmp(dname, "..")==0))
                         continue;
@@ -2929,7 +2929,7 @@ int reply_rmdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size,
                       pstrcat(fullname, "/");
                       pstrcat(fullname, dname);
                       
-                      if(sys_lstat(fullname, &st) != 0)
+                      if(dos_lstat(fullname, &st) != 0)
                         break;
                       if(st.st_mode & S_IFDIR)
                       {
@@ -2938,15 +2938,15 @@ int reply_rmdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size,
                           if(recursive_rmdir(fullname) != 0)
                             break;
                         }
-                        if(sys_rmdir(fullname) != 0)
+                        if(dos_rmdir(fullname) != 0)
                           break;
                       }
-                      else if(sys_unlink(fullname) != 0)
+                      else if(dos_unlink(fullname) != 0)
                         break;
                     }
                   CloseDir(dirptr);
                   /* Retry the rmdir */
-                  ok = (sys_rmdir(directory) == 0);
+                  ok = (dos_rmdir(directory) == 0);
                 }
               else
                 CloseDir(dirptr);
@@ -3047,11 +3047,11 @@ check if a user is allowed to rename a file
 ********************************************************************/
 static BOOL can_rename(char *fname,connection_struct *conn)
 {
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
 
   if (!CAN_WRITE(conn)) return(False);
 
-  if (sys_lstat(fname,&sbuf) != 0) return(False);
+  if (dos_lstat(fname,&sbuf) != 0) return(False);
   if (!check_file_sharing(conn,fname,True)) return(False);
 
   return(True);
@@ -3171,13 +3171,13 @@ int rename_internals(connection_struct *conn,
                         */
                        if(resolve_wildcards(directory,newname) &&
                           can_rename(directory,conn) &&
-                          !sys_rename(directory,newname))
+                          !dos_rename(directory,newname))
                                count++;
                } else {
                        if (resolve_wildcards(directory,newname) && 
                            can_rename(directory,conn) && 
                            !file_exist(newname,NULL) &&
-                           !sys_rename(directory,newname))
+                           !dos_rename(directory,newname))
                                count++;
                }
 
@@ -3232,7 +3232,7 @@ int rename_internals(connection_struct *conn,
                                        continue;
                                }
                                
-                               if (!sys_rename(fname,destname))
+                               if (!dos_rename(fname,destname))
                                        count++;
                                DEBUG(3,("rename_internals: doing rename on %s -> %s\n",fname,destname));
                        }
@@ -3284,7 +3284,7 @@ static BOOL copy_file(char *src,char *dest1,connection_struct *conn, int ofun,
                      int count,BOOL target_is_directory)
 {
   int Access,action;
-  struct stat st;
+  SMB_STRUCT_STAT st;
   int ret=0;
   files_struct *fsp1,*fsp2;
   pstring dest;
@@ -3940,7 +3940,7 @@ int reply_setattrE(connection_struct *conn, char *inbuf,char *outbuf, int dum_si
 ****************************************************************************/
 int reply_getattrE(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
 {
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   int outsize = 0;
   int mode;
   files_struct *fsp = file_fsp(inbuf,smb_vwv0);
index 3a851cfa8b7bd21db40bcc5037d7211ea5267e7f..8871d568ddad58a303638e347aaa397342895f4a 100644 (file)
@@ -202,7 +202,7 @@ static int call_trans2open(connection_struct *conn, char *inbuf, char *outbuf,
   int unixmode;
   int size=0,fmode=0,mtime=0,rmode;
   SMB_INO_T inode = 0;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   int smb_action = 0;
   BOOL bad_path = False;
   files_struct *fsp;
@@ -302,7 +302,7 @@ static int get_lanman2_dir_entry(connection_struct *conn,
 {
   char *dname;
   BOOL found = False;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   pstring mask;
   pstring pathreal;
   pstring fname;
@@ -376,7 +376,7 @@ static int get_lanman2_dir_entry(connection_struct *conn,
           if(needslash)
            pstrcat(pathreal,"/");
          pstrcat(pathreal,dname);
-         if (sys_stat(pathreal,&sbuf) != 0) 
+         if (dos_stat(pathreal,&sbuf) != 0) 
            {
              DEBUG(5,("get_lanman2_dir_entry:Couldn't stat [%s] (%s)\n",pathreal,strerror(errno)));
              continue;
@@ -1062,13 +1062,13 @@ static int call_trans2qfsinfo(connection_struct *conn,
   char *params = *pparams;
   uint16 info_level = SVAL(params,0);
   int data_len;
-  struct stat st;
+  SMB_STRUCT_STAT st;
   char *vname = volume_label(SNUM(conn));
   int snum = SNUM(conn);
  
   DEBUG(3,("call_trans2qfsinfo: level = %d\n", info_level));
 
-  if(sys_stat(".",&st)!=0) {
+  if(dos_stat(".",&st)!=0) {
     DEBUG(2,("call_trans2qfsinfo: stat of . failed (%s)\n", strerror(errno)));
     return (ERROR(ERRSRV,ERRinvdevice));
   }
@@ -1203,7 +1203,7 @@ static int call_trans2qfilepathinfo(connection_struct *conn,
   int mode=0;
   int size=0;
   unsigned int data_size;
-  struct stat sbuf;
+  SMB_STRUCT_STAT sbuf;
   pstring fname1;
   char *fname;
   char *p;
@@ -1229,7 +1229,7 @@ static int call_trans2qfilepathinfo(connection_struct *conn,
     fname = &fname1[0];
     pstrcpy(fname,&params[6]);
     unix_convert(fname,conn,0,&bad_path,&sbuf);
-    if (!check_name(fname,conn) || (!VALID_STAT(sbuf) && sys_stat(fname,&sbuf))) {
+    if (!check_name(fname,conn) || (!VALID_STAT(sbuf) && dos_stat(fname,&sbuf))) {
       DEBUG(3,("fileinfo of %s failed (%s)\n",fname,strerror(errno)));
       if((errno == ENOENT) && bad_path)
       {
@@ -1434,7 +1434,7 @@ static int call_trans2setfilepathinfo(connection_struct *conn,
   int mode=0;
   int size=0;
   struct utimbuf tvs;
-  struct stat st;
+  SMB_STRUCT_STAT st;
   pstring fname1;
   char *fname;
   int fd = -1;
@@ -1473,7 +1473,7 @@ static int call_trans2setfilepathinfo(connection_struct *conn,
       return(UNIXERROR(ERRDOS,ERRbadpath));
     }
  
-    if(!VALID_STAT(st) && sys_stat(fname,&st)!=0) {
+    if(!VALID_STAT(st) && dos_stat(fname,&st)!=0) {
       DEBUG(3,("stat of %s failed (%s)\n", fname, strerror(errno)));
       if((errno == ENOENT) && bad_path)
       {
@@ -1601,7 +1601,7 @@ static int call_trans2setfilepathinfo(connection_struct *conn,
   }
 
   /* check the mode isn't different, before changing it */
-  if (mode != dos_mode(conn, fname, &st) && dos_chmod(conn, fname, mode, NULL))
+  if (mode != dos_mode(conn, fname, &st) && file_chmod(conn, fname, mode, NULL))
   {
     DEBUG(2,("chmod of %s failed (%s)\n", fname, strerror(errno)));
     return(ERROR(ERRDOS,ERRnoaccess));
@@ -1611,7 +1611,7 @@ static int call_trans2setfilepathinfo(connection_struct *conn,
   {
     if (fd == -1)
     {
-      fd = sys_open(fname,O_RDWR,0);
+      fd = dos_open(fname,O_RDWR,0);
       if (fd == -1)
       {
         return(ERROR(ERRDOS,ERRbadpath));
@@ -1653,7 +1653,7 @@ static int call_trans2mkdir(connection_struct *conn,
 
   unix_convert(directory,conn,0,&bad_path,NULL);
   if (check_name(directory,conn))
-    ret = sys_mkdir(directory,unix_mode(conn,aDIR));
+    ret = dos_mkdir(directory,unix_mode(conn,aDIR));
   
   if(ret < 0)
     {
index 155ed5aeb53d54d61f41c6019e099f53f81975f0..97dfb715b04c9eacfbe25c0b235061793ba0e4be 100644 (file)
@@ -170,7 +170,7 @@ int do_compile(int codepage, char *input_file, char *output_file)
   char output_buf[CODEPAGE_HEADER_SIZE + 4 * MAXCODEPAGELINES];
   int num_lines = 0;
   int i = 0;
-  struct stat st;
+  SMB_STRUCT_STAT st;
 
   /* Get the size of the input file. Read the entire thing into memory. */
   if(stat((char *)input_file, &st)!= 0)
@@ -310,7 +310,7 @@ definition file. File %s has %d.\n", prog_name, MAXCODEPAGELINES, input_file, nu
 int do_decompile( int codepage, char *input_file, char *output_file)
 {
   uint32 size = 0;
-  struct stat st;
+  SMB_STRUCT_STAT st;
   char header_buf[CODEPAGE_HEADER_SIZE];
   char *buf = NULL;
   FILE *fp = NULL;
index a5205878cc72a6bb1b18f56a85bbf3e8b28212e2..d41e8b9f66575ffc515fcbe044251c93920da87c 100644 (file)
@@ -47,7 +47,7 @@ extern pstring myhostname;
 
 void do_global_checks(void)
 {
-       struct stat st;
+       SMB_STRUCT_STAT st;
        if (lp_security() > SEC_SHARE && lp_revalidate(-1)) {
                printf("WARNING: the 'revalidate' parameter is ignored in all but \
 'security=share' mode.\n");
index ce1038231b173bf746c01ca473fda7f898780e9d..9804f93adf9334cca4e854e0f53dcab7349b3c3e 100644 (file)
@@ -496,7 +496,7 @@ handle a file download
   ***************************************************************************/
 static void cgi_download(char *file)
 {
-       struct stat st;
+       SMB_STRUCT_STAT st;
        char buf[1024];
        int fd, l, i;
        char *p;