home *** CD-ROM | disk | FTP | other *** search
/ Borland Programmer's Resource / Borland_Programmers_Resource_CD_1995.iso / utils / sossntr3 / src / files.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-19  |  2.4 KB  |  71 lines

  1. /*
  2.  *  files.h --
  3.  *      Interface for the file manipulation procedures.
  4.  *
  5.  *  Author:
  6.  *      See-Mong Tan
  7.  *  Modified by:
  8.  *  Rich Braun @ Kronos, 2/15/91
  9.  */
  10.  
  11. //#define BASIC_BLOCKSIZE ((u_long) 1024) /* preferred block size in bytes */
  12. //#define FS_BLOCKSIZE ((u_long) 1024)    /* file system block size */
  13. #define BASIC_BLOCKSIZE ((u_long) 8192) /* preferred block size in bytes */
  14. #define FS_BLOCKSIZE ((u_long) 8192)    /* file system block size */
  15.  
  16. #ifndef MAXFILENAMELEN      /* 15 bytes to store null-terminated name */
  17. #define MAXFILENAMELEN 250  // for NTFS
  18. #endif              /* 8 + 1 + 3 + 1 = 15 */
  19.  
  20. #ifndef MAXPATHNAMELEN
  21. #define MAXPATHNAMELEN 512  /* 128 chars for maximum file name */
  22. #endif
  23.  
  24. /* UNIX file access permissions */
  25.  
  26. #define UPERM_FILE   0100000L
  27. #define UPERM_DIR     040000L
  28. #define UPERM_EXEC      0111L
  29. #define UPERM_SEARCH    0111L
  30. #define UPERM_WRITE     0222L
  31. #define UPERM_READ      0444L
  32. #define UPERM_WORLD     0007L
  33. #define UPERM_GROUP     0070L
  34. #define UPERM_OWNER     0700L
  35.  
  36.   /* what is requested */
  37. #define UCHK_RD (UPERM_OWNER & UPERM_READ)  /* rd by owner */
  38. #define UCHK_WR (UPERM_OWNER & UPERM_WRITE) /* write by owner */
  39.  
  40.   /* get file attributes by dos call */
  41. extern bool_t file_getattr(char *, struct nfsfattr *);
  42.   /* free blocks on disk */
  43. extern long file_freeblocks(int, long *, long *);
  44.   /* read directory on disk */
  45. extern bool_t file_rddir(u_long, u_long, struct udirect *);
  46.   /* all converts all alpahabets in string to lower case */
  47. extern char *strtolower(char *);
  48.   /* create a file with specified permissions */
  49. extern enum nfsstat file_create(char *, struct nfssattr *, struct nfsfattr *);
  50.   /* read a file block */
  51. extern int file_read(u_long, u_long, u_long, char *);
  52.   /* write a file block */
  53. extern enum nfsstat file_write(u_long, u_long, u_long, char *);
  54.   /* set file type */
  55. extern enum nfsstat file_setperm(u_long, long);
  56.   /* set file time */
  57. extern enum nfsstat file_settime(u_long, long);
  58.   /* set file size */
  59. extern enum nfsstat file_setsize(u_long, long);
  60.   /* set file size */
  61. extern enum nfsstat file_setowner(u_long, long, long);
  62.   /* set file attr */
  63. extern enum nfsstat file_setattr(u_long, long, long, long);
  64.   /* unlink a file */
  65. extern enum nfsstat file_unlink(char *);
  66.   /* rename a file */
  67. extern enum nfsstat file_rename(char *, char *);
  68.   /* validate a path */
  69. extern enum nfsstat validate_path(char *);
  70.  
  71.