1 2 /* BEGIN include file "ncp_connection_dcls.incl.pl1" -- */ 3 4 /* This include file contains declarations for the structures */ 5 /* maintained by the NCP which contain information about Host-Host */ 6 /* connections. Currently, this is the information about sockets, */ 7 /* hosts, and requests-for-connection. */ 8 9 /* Originally created by D. M. Wells, Summer, 1975. */ 10 /* Modified by B. Greenberg, Spring '78 for new leader support */ 11 /* Modified by C. Hornig, July 1979 for new host number format */ 12 13 declare 14 1 socket aligned based, /* information we keep on a per-socket basis */ 15 2 event_channel fixed binary (71), /* event channel of using process */ 16 2 overseer_event_channel fixed binary (71), /* event chanel of overseer process */ 17 2 lock bit (36) aligned, /* lock to prevent simultaneous updating */ 18 2 process_id bit (36) aligned, /* process id of using process */ 19 2 overseer_process_id bit (36) aligned, /* process id of overseer process */ 20 2 bit_allocation fixed binary (32), /* bit allocation outstanding on attached link */ 21 2 msg_allocation fixed binary (16), /* message allocation outstanding on link */ 22 23 2 local_socket unaligned like socket.foreign_socket, /* identification of local socket */ 24 2 foreign_socket unaligned, /* identification of foreign socket */ 25 3 host, /* id of this host */ 26 4 net bit (8), /* network id */ 27 4 host bit (8), /* port on imp */ 28 4 imp bit (16), /* imp id */ 29 3 socket_num bit (32), /* actual socket number */ 30 3 pad bit (8), 31 32 2 rfc_queue fixed binary (17) unaligned, /* RFC table index of next block for this */ 33 /* socket, 0 if queue is empty */ 34 2 link_number fixed binary (17) unaligned, /* number of link assigned for connection */ 35 36 2 host_entry_index fixed binary (17) unaligned, /* index in host table of foreign */ 37 /* host involved in connection */ 38 2 impdim_index fixed binary (17) unaligned, /* index by which IMPDIM knows about connection */ 39 2 state bit (6) unaligned, /* finite-state-machine information */ 40 2 byte_size bit (8) unaligned, /* byte-size of connections */ 41 2 send_gender bit (1) unaligned, /* on iff this is a transmit socket */ 42 2 allow_interrupts bit (1) unaligned, /* on iff INS and INR should be signalled to user */ 43 2 deactivate bit (1) unaligned, /* on iff this socket should be deactivated when */ 44 /* matching network messages are finally received */ 45 2 allow_rfc_queuing bit (1) unaligned, /* on iff we should allow multiple outstanding */ 46 /* RFC's for this socket */ 47 2 extra_bits bit (12) unaligned, 48 49 2 overseer_validation_level bit (3) unaligned, /* ring of highest overseer control */ 50 2 validation_level bit (3) unaligned, /* ring of highest operator control */ 51 52 2 overseer_lock_id bit (36) aligned, /* lock id of the overseer process */ 53 2 umodes bit (36) aligned, /* 36 bits that the users can play with */ 54 2 time_state_changed fixed binary (71), /* time that the socket state last changed */ 55 2 signal_event_channel fixed binary (71), /* chanel to signal over when get INS or INR */ 56 2 socket_index bit (36) aligned, /* the handle we gave user for future reference */ 57 2 history aligned, /* state of socket over recent past history */ 58 3 num_state_changes fixed binary (11) unaligned, /* small field, so only keep mod */ 59 3 prev_state (0 : 3) fixed binary (5) unaligned; /* past N states, kept in rotation */ 60 61 declare 62 1 host aligned based, /* information we retain about a foreign host */ 63 2 lock bit (36) aligned, /* lock to prevent simultaneous updating */ 64 2 rcv_link_index fixed binary (17) unaligned, /* impdim index of read link for control msgs */ 65 2 xmit_link_index fixed binary (17) unaligned, /* impdim index of write link for control msgs */ 66 2 read_links_assigned bit (32) unaligned, /* a bit is on iff we have assigned that link */ 67 2 read_link_padd bit (4) unaligned, 68 2 xhost_number_pad bit (9) unaligned, 69 2 host_state bit (6) unaligned, /* stae of communications with this host */ 70 2 previous_host_state bit (6) unaligned, /* last state of this host */ 71 2 state_pad bit (15) unaligned, 72 2 time_state_changed fixed binary (71), /* time when host state last changed */ 73 2 read_links_used bit (32) unaligned, /* bit is on if link has been used "recently" */ 74 2 read_link_used_pad bit (4) unaligned, 75 2 num_connections fixed binary (17) unaligned, /* times we attached links for this host */ 76 2 hash_index fixed binary (17) unaligned, /* table index of this host entry */ 77 2 host_number fixed bin (32) aligned, /* host number of this host */ 78 2 host_number_pad fixed bin (35); 79 80 declare 81 1 rcvd_rfc aligned based, /* info about a rcvd Request for Connection */ 82 2 foreign_socket unaligned like socket.foreign_socket, /* foreign socket in RFC msg */ 83 2 foreign_hosts_choice fixed binary (17) unaligned, /* link or size that other host chose */ 84 2 next_entry fixed binary (17) unaligned, /* next RFC entry in queue for socket */ 85 2 padding (1) fixed binary (35); 86 87 declare 88 1 host_address based aligned, /* Form of a host address */ 89 2 net bit (8) unaligned, /* Netwwork ID */ 90 2 host bit (8) unaligned, /* Host Port */ 91 2 imp bit (16) unaligned; /* IMP ID */ 92 /* Duplicated because of PL/I multi-like restriction */ 93 94 /* END of include file ncp_connection_dcls.incl.pl1 */ 95