1 /* BEGIN INCLUDE FILE ... tp_input_queue.incl.pl1 */
 2 
 3 /* Revised 9-Jan-79 by M. N. Davidoff
 4    Modified 13-Aug-79 by M. N. Davidoff to add NO_CALL_CONV_EP_ABORT, NO_COMMAND_ABORT and NO_TEST_MODE_ABORT. */
 5 
 6 /* automatic */
 7 
 8      declare transaction_record_buffer_length
 9                                     fixed binary (21);
10      declare transaction_record_ptr pointer;
11 
12 /* based */
13 
14      declare 1 transaction_record   aligned based (transaction_record_ptr),
15                2 in_progress_lock   bit (36),               /* locked by worker when trying the transaction */
16                2 completion_status  fixed binary (17),      /* how transaction finished */
17                2 transaction_no     fixed decimal (30),     /* TP subsystem's transaction number */
18                2 deadline           fixed binary (71),      /* deadline of this transaction */
19                2 tp_user_id         char (32) unaligned,    /* tp_user who entered this transaction */
20                2 user_index         fixed binary (17),      /* user table index of tp_user_id */
21                2 flags              unaligned,
22                  3 test_mode        bit (1),                /* transaction was entered in test mode */
23                  3 pad              bit (35),
24                2 meters,
25                  3 io_process_name  char (32) unaligned,    /* I/O process that accepted the transaction */
26                  3 worker_process_name
27                                     char (32) unaligned,    /* worker process that did the transaction */
28                  3 time_queued      fixed binary (71),      /* time transaction was queued */
29                  3 xcn_start_time   fixed binary (71),      /* time transaction was started */
30                  3 xcn_finish_time  fixed binary (71),      /* time transaction finished */
31                  3 tpr_cpu          fixed binary (71),      /* virtual cpu time used by TPR including retries */
32                  3 tpr_page_faults  fixed binary (17),      /* page faults taken by TPR including retries */
33                  3 retries          fixed binary (17),      /* how many times the TPR was called */
34                2 command_name       char (32) unaligned,    /* command user typed */
35                2 buffer_length      fixed binary (21),      /* length of buffer */
36                2 buffer             char (transaction_record_buffer_length refer (transaction_record.buffer_length))
37                                     unaligned;              /* input without command name */
38 
39 /* internal static */
40 
41      declare INPUT_QUEUE_IO_SWITCH_NAME
42                                     char (15) internal static options (constant) initial ("tp_input_queue_");
43      declare INPUT_QUEUE_NAME       char (8) internal static options (constant) initial ("tp.tpinq");
44      declare INPUT_QUEUE_SUFFIX     char (5) internal static options (constant) initial ("tpinq");
45      declare INPUT_QUEUE_TRANSACTION_MODE_IO_SWITCH_NAME
46                                     char (26) internal static options (constant) initial ("tp_input_queue_trans_mode_");
47      declare IQ_KEY_SEPARATOR       char (1) internal static options (constant) initial ("$");
48      declare MAX_TRANSACTION_RECORD_BUFFER_LENGTH
49                                     fixed binary (21) internal static options (constant) initial (2048);
50 
51 /* transaction completion status codes */
52 
53      declare INCOMPLETE             fixed binary internal static options (constant) initial (0);
54      declare NORMAL                 fixed binary internal static options (constant) initial (1);
55      declare ERROR_ABORT            fixed binary internal static options (constant) initial (2);
56      declare RETRY_ABORT            fixed binary internal static options (constant) initial (3);
57      declare CPU_TIME_ABORT         fixed binary internal static options (constant) initial (4);
58      declare REAL_TIME_ABORT        fixed binary internal static options (constant) initial (5);
59      declare TEST_MODE_ABORT        fixed binary internal static options (constant) initial (6);
60      declare COMMAND_LINE_ABORT     fixed binary internal static options (constant) initial (7);
61      declare NO_CALL_CONV_EP_ABORT  fixed binary internal static options (constant) initial (8);
62      declare NO_COMMAND_EP_ABORT    fixed binary internal static options (constant) initial (9);
63      declare NO_COMMAND_ABORT       fixed binary internal static options (constant) initial (10);
64      declare NO_TEST_MODE_ABORT     fixed binary internal static options (constant) initial (11);
65      declare CANCEL_ABORT           fixed binary internal static options (constant) initial (12);
66 
67 /* input queue key prefixes */
68 
69      declare UNPROCESSED_KEY_PREFIX char (5) internal static options (constant) initial ("Input");
70      declare NORMAL_COMPLETION_KEY_PREFIX
71                                     char (4) internal static options (constant) initial ("Done");
72      declare RETRY_ABORT_KEY_PREFIX char (5) internal static options (constant) initial ("Retry");
73      declare TEST_MODE_ABORT_KEY_PREFIX
74                                     char (9) internal static options (constant) initial ("Test_mode");
75      declare ALL_ERROR_ABORTS_KEY_PREFIX
76                                     char (6) internal static options (constant) initial ("Errors");
77 
78 /* completion_status to key_prefix array */
79 
80      declare INPUT_QUEUE_KEY_PREFIX (0:12) char (12) varying internal static options (constant)
81                                     initial ("Input", "Done", "Errors", "Retry", "Errors", "Errors", "Test_mode", "Errors",
82                                     "Errors", "Errors", "Errors", "Errors", "Errors");
83 
84 /* what each completion status code means */
85 
86      declare completion_status_meanings
87                                     (0:12) char (40) internal static options (constant)
88                                     initial ("unprocessed", "finished", "finished with an error", "retry limit exceeded",
89                                     "cpu time limit exceeded", "real time limit exceeded", "finished in test mode",
90                                     "command line error", "call convention entry point not found",
91                                     "command entry point not found", "unknown command", "test mode was unavailable",
92                                     "canceled");
93 
94 /* END INCLUDE FILE ... tp_input_queue.incl.pl1 */