home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / lan / soss.arj / SRC / FILES.H < prev    next >
C/C++ Source or Header  |  1991-03-15  |  2KB  |  66 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.  
  14. #ifndef MAXFILENAMELEN        /* 15 bytes to store null-terminated name */
  15. #define MAXFILENAMELEN 15
  16. #endif                /* 8 + 1 + 3 + 1 = 15 */
  17.  
  18. #ifndef MAXPATHNAMELEN
  19. #define MAXPATHNAMELEN 128    /* 128 chars for maximum file name */
  20. #endif
  21.  
  22. /* UNIX file access permissions */
  23.  
  24. #define UPERM_FILE   0100000L
  25. #define UPERM_DIR     040000L
  26. #define UPERM_EXEC      0111L
  27. #define UPERM_SEARCH    0111L
  28. #define UPERM_WRITE     0222L
  29. #define UPERM_READ      0444L
  30. #define UPERM_WORLD     0007L
  31. #define UPERM_GROUP     0070L
  32. #define UPERM_OWNER     0700L
  33.  
  34.   /* what is requested */
  35. #define UCHK_RD    (UPERM_OWNER & UPERM_READ)    /* rd by owner */
  36. #define UCHK_WR (UPERM_OWNER & UPERM_WRITE)    /* write by owner */
  37.  
  38.   /* get file attributes by dos call */
  39. extern bool_t file_getattr(char *, struct nfsfattr *);
  40.   /* free blocks on disk */
  41. extern long files_freeblocks(int, long *, long *);
  42.   /* read directory on disk */
  43. extern bool_t file_rddir(u_long, u_long, struct udirect *);
  44.   /* all converts all alpahabets in string to lower case */
  45. extern char *strtolower(char *);
  46.   /* create a file with specified permissions */
  47. extern enum nfsstat file_create(char *, struct nfssattr *, struct nfsfattr *);
  48.   /* read a file block */
  49. extern int file_read(u_long, u_long, u_long, char *);
  50.   /* write a file block */
  51. extern enum nfsstat file_write(u_long, u_long, u_long, char *);
  52.   /* set file type */
  53. extern enum nfsstat file_setperm(u_long, long);
  54.   /* set file time */
  55. extern enum nfsstat file_settime(u_long, long);
  56.   /* set file size */
  57. extern enum nfsstat file_setsize(u_long, long);
  58.   /* set file size */
  59. extern enum nfsstat file_setowner(u_long, long, long);
  60.   /* unlink a file */
  61. extern enum nfsstat file_unlink(char *);
  62.   /* rename a file */
  63. extern enum nfsstat file_rename(char *, char *);
  64.   /* validate a path */
  65. extern enum nfsstat validate_path(char *);
  66.