1 /* BEGIN INCLUDE FILE iocbx.incl.pl1 */
 2 /* written 27 Dec 1973, M. G. Smith */
 3 /* returns attributes removed, hashing support BIM Spring 1981 */
 4 /* version made character string June 1981 BIM */
 5 /* Modified 11/29/82 by S. Krupp to add new entries and to change
 6       version number to IOX2. */
 7 /* format: style2 */
 8 
 9      dcl     1 iocb                 aligned based,          /* I/O control block. */
10                2 version            character (4) aligned,  /* IOX2 */
11                2 name               char (32),              /* I/O name of this block. */
12                2 actual_iocb_ptr    ptr,                    /* IOCB ultimately SYNed to. */
13                2 attach_descrip_ptr ptr,                    /* Ptr to printable attach description. */
14                2 attach_data_ptr    ptr,                    /* Ptr to attach data structure. */
15                2 open_descrip_ptr   ptr,                    /* Ptr to printable open description. */
16                2 open_data_ptr      ptr,                    /* Ptr to open data structure (old SDB). */
17                2 event_channel      bit (72),               /* Event channel for asynchronous I/O. */
18                2 detach_iocb        entry (ptr, fixed bin (35)),
19                                                             /* detach_iocb(p) */
20                2 open               entry (ptr, fixed, bit (1) aligned, fixed bin (35)),
21                                                             /* open(p,mode,not_used) */
22                2 close              entry (ptr, fixed bin (35)),
23                                                             /* close(p) */
24                2 get_line           entry (ptr, ptr, fixed (21), fixed (21), fixed bin (35)),
25                                                             /* get_line(p,bufptr,buflen,actlen) */
26                2 get_chars          entry (ptr, ptr, fixed (21), fixed (21), fixed bin (35)),
27                                                             /* get_chars(p,bufptr,buflen,actlen) */
28                2 put_chars          entry (ptr, ptr, fixed (21), fixed bin (35)),
29                                                             /* put_chars(p,bufptr,buflen) */
30                2 modes              entry (ptr, char (*), char (*), fixed bin (35)),
31                                                             /* modes(p,newmode,oldmode) */
32                2 position           entry (ptr, fixed, fixed (21), fixed bin (35)),
33                                                             /* position(p,u1,u2) */
34                2 control            entry (ptr, char (*), ptr, fixed bin (35)),
35                                                             /* control(p,order,infptr) */
36                2 read_record        entry (ptr, ptr, fixed (21), fixed (21), fixed bin (35)),
37                                                             /* read_record(p,bufptr,buflen,actlen) */
38                2 write_record       entry (ptr, ptr, fixed (21), fixed bin (35)),
39                                                             /* write_record(p,bufptr,buflen) */
40                2 rewrite_record     entry (ptr, ptr, fixed (21), fixed bin (35)),
41                                                             /* rewrite_record(p,bufptr,buflen) */
42                2 delete_record      entry (ptr, fixed bin (35)),
43                                                             /* delete_record(p) */
44                2 seek_key           entry (ptr, char (256) varying, fixed (21), fixed bin (35)),
45                                                             /* seek_key(p,key,len) */
46                2 read_key           entry (ptr, char (256) varying, fixed (21), fixed bin (35)),
47                                                             /* read_key(p,key,len) */
48                2 read_length        entry (ptr, fixed (21), fixed bin (35)),
49                                                             /* read_length(p,len) */
50                2 open_file          entry (ptr, fixed bin, char (*), bit (1) aligned, fixed bin (35)),
51                                                             /* open_file(p,mode,desc,not_used,s) */
52                2 close_file         entry (ptr, char (*), fixed bin (35)),
53                                                             /* close_file(p,desc,s) */
54                2 detach             entry (ptr, char (*), fixed bin (35)),
55                                                             /* detach(p,desc,s) */
56                                                             /* Hidden information, to support SYN attachments. */
57                2 ios_compatibility  ptr,                    /* Ptr to old DIM's IOS transfer vector. */
58                2 syn_inhibits       bit (36),               /* Operations inhibited by SYN. */
59                2 syn_father         ptr,                    /* IOCB immediately SYNed to. */
60                2 syn_brother        ptr,                    /* Next IOCB SYNed as this one is. */
61                2 syn_son            ptr,                    /* First IOCB SYNed to this one. */
62                2 hash_chain_ptr     ptr;                    /* Next IOCB in hash bucket */
63 
64      declare iox_$iocb_version_sentinel
65                                     character (4) aligned external static;
66 
67 /* END INCLUDE FILE iocbx.incl.pl1 */