|
|
1.1 root 1: /* ftamsystem.h - include file for FTAM responder */
2:
3: /*
4: * $Header: /f/osi/ftam2/RCS/ftamsystem.h,v 7.0 89/11/23 21:54:41 mrose Rel $
5: *
6: *
7: * $Log: ftamsystem.h,v $
8: * Revision 7.0 89/11/23 21:54:41 mrose
9: * Release 6.0
10: *
11: */
12:
13: /*
14: * NOTICE
15: *
16: * Acquisition, use, and distribution of this module and related
17: * materials are subject to the restrictions of a license agreement.
18: * Consult the Preface in the User's Manual for the full terms of
19: * this agreement.
20: *
21: */
22:
23:
24: #include <errno.h>
25: #include "ftamsbr.h"
26: #include "logger.h"
27:
28:
29: #define SCPYN(a,b) strncpy ((a), (b), sizeof (a))
30:
31: /* SERVER */
32:
33: extern int ftamfd;
34:
35: extern int cflag;
36: extern int debug;
37: extern char *myname;
38:
39:
40: void ftam_adios (), ftam_advise (), ftam_diag ();
41:
42: void adios (), advise ();
43:
44: /* UNIX DATA */
45:
46: extern int myuid;
47:
48: extern int myhomelen;
49: extern char myhome[];
50:
51: extern dev_t null_dev;
52: extern ino_t null_ino;
53:
54: /* VFS DATA */
55:
56: #define NMAX 8 /* too painful to get right! */
57:
58: #ifndef NGROUPS
59: #define NACCT 32
60: #else
61: #define NACCT (NGROUPS + 20)
62: #endif
63:
64:
65: extern struct vfsmap vfs[]; /* ordering affects default action in st2vfs()
66: put preferential entries towards the end */
67: #define VFS_UBF 0 /* offset to FTAM-3 */
68: #define VFS_UTF 1 /* .. FTAM-1 */
69: #define VFS_FDF 2 /* .. NBS-9 */
70:
71: /* REGIME DATA */
72:
73: extern int level;
74: extern int class;
75: extern int units;
76: extern int attrs;
77: extern int fadusize;
78:
79: /* ACTIVITY DATA */
80:
81: extern int myfd;
82: extern char *myfile;
83: extern struct stat myst;
84: extern int statok;
85:
86: extern struct vfsmap *myvf; /* active contents type */
87: extern caddr_t myparam; /* .. */
88:
89: extern int myaccess; /* current access request */
90:
91: extern char *initiator; /* current initiator identity */
92:
93: extern struct FADUidentity mylocation;/* current location */
94:
95: extern int mymode; /* current processing mode */
96: extern int myoperation; /* .. */
97:
98: #ifdef notdef
99: extern AEI mycalling; /* current calling AET */
100: extern AEI myresponding; /* current responding AET */
101: #endif
102:
103: extern char *account; /* current account */
104: extern int mygid; /* "inner" account */
105:
106: extern int mylock; /* current concurrency control */
107: extern struct FTAMconcurrency myconctl;/* .. */
108:
109: extern int mylockstyle; /* current locking style */
110:
111:
112: extern int mycontext; /* current access context */
113: extern int mylevel; /* .. */
114:
115:
116: #ifndef SYS5
117: #define unlock() if (mylock) (void) flock (myfd, LOCK_UN); else
118: #else
119: #define unlock() \
120: if (mylock) { \
121: struct flock fs; \
122: \
123: fs.l_type = F_UNLCK; \
124: fs.l_whence = L_SET; \
125: fs.l_start = fs.l_len = 0; \
126: (void) fcntl (myfd, F_SETLK, &fs); \
127: } \
128: else
129: #endif
130:
131: /* */
132:
133: extern int errno;
134:
135: /* */
136:
137: #ifdef BRIDGE
138: /* FTP interface routines and variables */
139:
140: extern char *ftp_error;
141:
142: int ftp_exits (), ftp_delete (), ftp_mkdir (), ftp_rename (), ftp_type (),
143: ftp_write (), ftp_append (), ftp_read (), ftp_ls (), ftp_login (),
144: ftp_quit (), ftp_abort (), ftp_reply ();
145: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.