home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
lan
/
soss.arj
/
SRC
/
FILES.H
< prev
next >
Wrap
C/C++ Source or Header
|
1991-03-15
|
2KB
|
66 lines
/*
* files.h --
* Interface for the file manipulation procedures.
*
* Author:
* See-Mong Tan
* Modified by:
* Rich Braun @ Kronos, 2/15/91
*/
#define BASIC_BLOCKSIZE ((u_long) 1024) /* preferred block size in bytes */
#define FS_BLOCKSIZE ((u_long) 1024) /* file system block size */
#ifndef MAXFILENAMELEN /* 15 bytes to store null-terminated name */
#define MAXFILENAMELEN 15
#endif /* 8 + 1 + 3 + 1 = 15 */
#ifndef MAXPATHNAMELEN
#define MAXPATHNAMELEN 128 /* 128 chars for maximum file name */
#endif
/* UNIX file access permissions */
#define UPERM_FILE 0100000L
#define UPERM_DIR 040000L
#define UPERM_EXEC 0111L
#define UPERM_SEARCH 0111L
#define UPERM_WRITE 0222L
#define UPERM_READ 0444L
#define UPERM_WORLD 0007L
#define UPERM_GROUP 0070L
#define UPERM_OWNER 0700L
/* what is requested */
#define UCHK_RD (UPERM_OWNER & UPERM_READ) /* rd by owner */
#define UCHK_WR (UPERM_OWNER & UPERM_WRITE) /* write by owner */
/* get file attributes by dos call */
extern bool_t file_getattr(char *, struct nfsfattr *);
/* free blocks on disk */
extern long files_freeblocks(int, long *, long *);
/* read directory on disk */
extern bool_t file_rddir(u_long, u_long, struct udirect *);
/* all converts all alpahabets in string to lower case */
extern char *strtolower(char *);
/* create a file with specified permissions */
extern enum nfsstat file_create(char *, struct nfssattr *, struct nfsfattr *);
/* read a file block */
extern int file_read(u_long, u_long, u_long, char *);
/* write a file block */
extern enum nfsstat file_write(u_long, u_long, u_long, char *);
/* set file type */
extern enum nfsstat file_setperm(u_long, long);
/* set file time */
extern enum nfsstat file_settime(u_long, long);
/* set file size */
extern enum nfsstat file_setsize(u_long, long);
/* set file size */
extern enum nfsstat file_setowner(u_long, long, long);
/* unlink a file */
extern enum nfsstat file_unlink(char *);
/* rename a file */
extern enum nfsstat file_rename(char *, char *);
/* validate a path */
extern enum nfsstat validate_path(char *);