1 /*  Begin include file ftp_server_data.incl.pl1  */
 2 
 3 /*  Created 02/21/73 by K. T. Pogran  */
 4 /*  Modified 10/24/74 by K. T. Pogran  */
 5 /* Modified by S. T. Kent to become automatic rather than external database  10/14/76 */
 6 
 7 declare   type_name (4) char (12) internal static options (constant) initial ("ASCII",    "Image",  "Local Byte", "EBCDIC");
 8 
 9 declare   mode_name (3) char (8)  internal static options (constant) initial ("Stream",   "Text",   "Block");
10 
11      declare
12           1 ftp_data_template based aligned,      /* Instance Block for File Transfer Protocol Server         */
13              2 instance_info,
14                 3 iocb_ptr pointer,                         /* Input/Output stream for command/response       */
15                 3 static_return_label label,                /* label to get out of server environment         */
16                 3 abort_return_label label,                 /* label to get out of current command            */
17                 3 abort_procedure entry,                    /* procedure to cleanup after current command     */
18                 3 dptr pointer,                             /* (possibly) pointer to dprint arg info          */
19                 3 instance_flags unaligned,
20                    4 ftp_server_process bit (1),            /* TRUE iff process was created as FTP server     */
21                    4 bye_pending bit (1),                   /* TRUE iff we should logout after xfer is done   */
22                    4 logout_hold bit (1),                   /* TRUE iff user said REIN instead of BYE         */
23                    4 quit_flag bit (1),                     /* TRUE iff we are at abort level                 */
24                    4 rename_in_progress bit (1),            /* TRUE iff we are in middle of rename sequence   */
25                    4 instance_pad bit (31),
26                 3 request fixed binary (17),                /* number of current request                      */
27                 3 last_command fixed binary (17),           /* number of previous command                     */
28                 3 word character (4) unaligned,             /* the actual command sent to use                 */
29                 3 quit_condition character (32) unaligned,  /* our interrupt condition (usually "quit")       */
30 
31              2 network_info,
32                 3 event_channel fixed binary (71),          /* IPC chn we use for data transfer connections   */
33                 3 read_index bit (36) unaligned,            /* NCP handle for read connection                 */
34                 3 write_index bit (36) unaligned,           /* NCP handle for write connection                */
35                 3 foreign_host fixed binary (16),           /* number of host we transfer data to/from        */
36                 3 foreign_read_socket fixed binary (32),    /* number of socket at foreign host we send to    */
37                 3 foreign_write_socket fixed binary (32),   /* number of socket at foreign host we read from  */
38                 3 local_read_socket fixed binary (32),      /* number of our local read socket                */
39                 3 local_write_socket fixed binary (32),     /* number of our local write socket               */
40                 3 foreign_host_name character (32) unaligned,         /* name of "foreign_host"               */
41 
42              2 transfer_parameters,
43                 3 byte_size fixed binary (8),               /* bytesize of network transfers                  */
44                 3 representation_type fixed binary (17),    /* number of type (ASCII, Image, ...)             */
45                 3 transfer_mode fixed binary (17),          /* number of mode (Stream, Text, Block)           */
46 
47              2 fap_parameters,                              /* information about File Access protocol         */
48                 3 fap_file_is_open bit (1) aligned,         /* TRUE iff file open and other data meaningful   */
49                 3 fap_modes bit (5) unaligned,
50                 3 fap_write_bit fixed binary (24),
51                 3 fap_read_bit fixed binary (24),
52                 3 fap_last_bit fixed binary (24),
53                 3 bit_count fixed binary (24),
54                 3 initial_bit_count fixed binary (24),
55                 3 bits_read fixed binary (24),
56 
57              2 segptra pointer,
58              2 dirname character (168) unaligned,
59              2 ename character (32) unaligned,
60              2 old_dir character (168) unaligned,
61              2 old_name character (32) unaligned,
62              2 text_ptr pointer,
63              2 mail_info aligned,                           /* info about mail recipients                     */
64                 3 segptrb pointer,                          /* (possibly) pointer to temp mail buffer         */
65                 3 n_users fixed binary (17),
66                 3 i fixed binary (17),
67                 3 addressee (16) aligned,                   /* info about recipients mailboxes                */
68                    4 box_pointer pointer,                   /* pointer to old mailbox (if any)                */
69                    4 box_mseg_index fixed binary (17),      /* MSEG index of new mailbox (if any)             */
70                    4 mail_flags unaligned,
71                       5 new_style_box bit (1),              /* TRUE iff use mseg index rather than box ptr    */
72                       5 forward_mail bit (1),               /* TRUE iff we are going to forward mail          */
73                       5 mail_flags_pad bit (34),
74                    4 user_name character (32) unaligned varying,      /* mail name of local recipient         */
75                    4 mail_seg_name character (32) unaligned,          /* name of segment we created           */
76                    4 forward_host_name character (32) unaligned,      /* name of host we shall forward to     */
77                    4 forward_user character (64);           /* recipient name at foreign host                 */
78 
79 /* End include file ftp_server_data.incl.pl1  */