1 
 2 /*             "net_iocb_template_dcls.incl.pl1" -- include file to declare     */
 3 /*        the format of the IOCB.  This include file exists because the one     */
 4 /*        provided by the system mis-declared all of the entry variables in     */
 5 /*        the IOCB.                                                             */
 6 
 7 /*        Originally created by D. M. Wells on 9 September, 1974.               */
 8 
 9      declare
10           1 iocb_template aligned based,                    /* I/O Control Block                              */
11              2 version fixed binary (17),                   /* version number of structure -- currently 1     */
12              2 name character (32) unaligned,               /* I/O name of the control block                  */
13 
14              2 actual_iocb_ptr pointer,                     /* IOCB ultimately SYNed to.                      */
15 
16                                         /* Data above this point should not be altered by an I/O switch.      */
17 
18              2 attach_descrip_ptr pointer,                  /* pointer to a printable attach description      */
19              2 attach_data_ptr pointer,                     /* ptr to (per switch) attachment data structure  */
20              2 open_descrip_ptr pointer,                    /* pointer to printable open description          */
21              2 open_data_ptr pointer,                       /* ptr to (per switch) opening data structure     */
22 
23              2 event_channel fixed binary (71),             /* event channel for asynchronous I/O             */
24 
25              2 detach_iocb entry (ptr, fixed bin (35)),                         /* detach_iocb (p, code)      */
26              2 open entry (ptr, fixed bin (17), bit (1), fixed bin (35)),
27                                                             /* open (p, mode, append, code)                   */
28              2 close entry (ptr, fixed bin (35)),                               /* close (p, code)            */
29              2 get_line entry (ptr, ptr, fixed bin (24), fixed bin (24), fixed bin (35)),
30                                                             /* get_line (p, bufptr, buflen, actlen, code)     */
31              2 get_chars entry (ptr, ptr, fixed bin (24), fixed bin (24), fixed bin (35)),
32                                                             /* get_chars (p, bufptr, buflen, actlen, code)    */
33              2 put_chars entry (ptr, ptr, fixed bin (24), fixed bin (35)),
34                                                             /* put_chars (p, bufptr, buflen, code)            */
35              2 modes entry (ptr, char (*), char (*), fixed bin (35)),
36                                                             /* modes (p, newmode, oldmode, code)              */
37              2 position entry (ptr, fixed bin (1), fixed bin (24), fixed bin (35)),
38                                                             /* position (p, type, movement)                   */
39              2 control entry (ptr, char (*), ptr, fixed bin (35)),
40                                                             /* control (p, order, infptr, code)               */
41              2 read_record entry (ptr, ptr, fixed bin (24), fixed bin (24), fixed bin (35)),
42                                                             /* read_record (p, bufptr, buflen, actlen, code)  */
43              2 write_record entry (ptr, ptr, fixed bin (24), fixed bin (35)),
44                                                             /* write_record (p, bufptr, buflen, code)         */
45              2 rewrite_record entry (ptr, ptr, fixed bin (24), fixed bin (35)),
46                                                             /* rewrite_record (p, bufptr, buflen, code)       */
47              2 delete_record entry (ptr, fixed bin (35)),                       /* delete_record (p, code)    */
48              2 seek_key entry (ptr, char (256) varying, fixed bin (24), fixed bin (35)),
49                                                             /* seek_key (p, key, len, code)                   */
50              2 read_key entry (ptr, char (256) varying, fixed bin (24), fixed bin (35)),
51                                                             /* read_key (p, key, len, code)                   */
52              2 read_length entry (ptr, fixed bin (24), fixed bin (35)),         /* read_length (p, len, code) */
53 
54                                         /* Hidden information -- user should not use these                    */
55 
56              2 ios_compatibility pointer,                   /* pointer to old IOSIM's IOS transfer vector     */
57              2 syn_inhibits bit (36) aligned,               /* operations inhibited by syn_                   */
58              2 syn_father pointer,                          /* IOCB immediately syn_'ed to                    */
59              2 syn_brother pointer,                         /* Next IOCB syn_'ed as this one is               */
60              2 syn_son pointer;                             /* first IOCB syn_'ed to this one                 */
61 
62 /*        end of include file "net_iocb_template_dcls.incl.pl1"                 */
63