BSD 4_4_Lite2 development
[unix-history] / usr / src / contrib / xns / examples / filing_common / filing_server.h
/*
* Copyright (c) 1986, 1987 Xerox Corporation.
*/
/* $Log: filing_server.h,v $
* Revision 1.2 87/03/17 16:33:00 ed
* Added defines for classes of attributes.
*
* Revision 1.1 87/01/06 16:29:06 ed
* Initial revision
*
*
*/
#define MAX_HANDLES 10 /* maximum number of open files */
#define MAX_FILE_NAME_LENGTH 256 /* maximum length of file name */
#define SUPPORTEDATTRIBUTES 8 /* see make_attribute_sequence */
#define REQUIREDATTRIBUTES 6 /* see make_attribute_sequence */
#define OPTIONALATTRIBUTES 50 /* for Viewpoint files */
/*
* file handle
* one per open file
*/
typedef struct {
int state; /* current state */
#define FILE_CLOSED 0
#define FILE_OPEN 1
char *pathname; /* ptr to pathname value */
LongCardinal type; /* client requested type (from Open) */
LongCardinal truetype; /* file system file type */
Cardinal datasize; /* dataSize value */
Boolean isdirectory; /* isDirectory */
LongCardinal createdon; /* createdOn */
LongCardinal modifiedon; /* modifiedOn */
FILE *file_desc; /* ptr to file descriptor for open file */
} file_handle;
/*
* session handle
* one per session
*/
typedef struct {
int state; /* current state */
#define SESSION_CLOSED 0
#define SESSION_OPEN 1
CourierConnection *connection; /* connection id */
FILING_Credentials credentials; /* user credentials */
AUTHENTICATION_SimpleVerifier verifier; /* user verifier */
file_handle handle[MAX_HANDLES]; /* array of open files */
} session_handle;