| Document revision date: 28 June 1999 | |
![]() |
|
|
|
| Previous | Contents | Index |
Table B-5 lists the OpenVMS data types and their corresponding BLISS data type declarations.
| OpenVMS Data Types | BLISS Declarations |
|---|---|
| access_bit_names | BLOCKVECTOR[32,8,BYTE] |
| access_mode | UNSIGNED BYTE |
| address | UNSIGNED LONG |
| address_range | VECTOR[2,LONG,UNSIGNED] |
| arg_list |
VECTOR[
n,LONG,UNSIGNED]
where n is the number of arguments + 1. |
| ast_procedure | UNSIGNED LONG |
| boolean | UNSIGNED LONG |
| byte_signed | SIGNED BYTE |
| byte_unsigned | UNSIGNED BYTE |
| channel | UNSIGNED WORD |
| char_string | VECTOR[65536,BYTE,UNSIGNED] |
| complex_number |
F_Complex: VECTOR[2,LONG]
D_Complex: VECTOR[4,LONG] G_Complex: VECTOR[4,LONG] H_Complex: VECTOR[8,LONG] |
| cond_value | UNSIGNED LONG |
| context | UNSIGNED LONG |
| date_time | VECTOR[2,LONG,UNSIGNED] |
| device_name |
VECTOR[
n,BYTE,UNSIGNED]
where n is the length of the device name. |
| ef_cluster_name |
VECTOR[
n,BYTE,UNSIGNED]
where n is the length of the event-flag cluster name. |
| ef_number | UNSIGNED LONG |
| exit_handler_block |
BLOCK[
n,BYTE]
where n is the size of the exit-handler control block. |
| fab | $FAB_DECL (from STARLET.REQ) |
| file_protection | BLOCK[2,BYTE] |
| floating_point |
F_Floating: VECTOR[1,LONG]
D_Floating: VECTOR[2,LONG] G_Floating: VECTOR[2,LONG] H_Floating: VECTOR[4,LONG] |
| function_code | BLOCK[2,WORD] |
| identifier | UNSIGNED LONG |
| io_status_block | BLOCK[8,BYTE] |
| item_list_2 |
BLOCKVECTOR[
n,8,BYTE]
where n is the number of the item descriptors + 1. |
| item_list_3 |
BLOCKVECTOR[
n,12,BYTE]
where n is the number of the item descriptors + 1. |
|
$ITMLST_DECL/$ITMLST_INIT
from STARLET.REQ |
|
| item_list_pair |
BLOCKVECTOR[
n,2,LONG]
where n is the number of the item descriptors + 1. |
| item_quota_list |
BLOCKVECTOR[
n,5,BYTE]
where n is the number of the quota descriptors + 1. |
| lock_id | UNSIGNED_LONG |
| lock_status_block |
BLOCK[
n,BYTE]
where n is the size of the lock_status_block minus at least 8. |
| lock_value_block | BLOCK[16,BYTE] |
| logical_name | VECTOR[255,BYTE,UNSIGNED] |
| longword_signed | SIGNED LONG |
| longword_unsigned | UNSIGNED LONG |
| mask_byte | BITVECTOR[8] |
| mask_longword | BITVECTOR[32] |
| mask_quadword | BITVECTOR[64] |
| mask_word | BITVECTOR[16] |
| null_arg | UNSIGNED LONG |
| octaword_signed | VECTOR[4,LONG,UNSIGNED] |
| octaword_unsigned | VECTOR[4,LONG,UNSIGNED] |
| page_protection | UNSIGNED LONG |
| procedure | UNSIGNED LONG |
| process_id | UNSIGNED LONG |
| process_name |
VECTOR[
n,BYTE,UNSIGNED]
where n is the length of the process name. |
| quadword_signed | VECTOR[2,LONG,UNSIGNED] |
| quadword_unsigned | VECTOR[2,LONG,UNSIGNED] |
| rights_holder | BLOCK[8,BYTE] |
| rights_id | UNSIGNED LONG |
| rab |
$RAB_DECL
from STARLET.REQ |
| section_id | VECTOR[2,LONG,UNSIGNED] |
| section_name |
VECTOR[
n,BYTE,UNSIGNED]
where n is the length of the global section name. |
| system_access_id | VECTOR[2,LONG,UNSIGNED] |
| time_name |
VECTOR[
n,BYTE,UNSIGNED]
where n is the length of the time value in OpenVMS format. |
| transaction_id | VECTOR[4,LONG,UNSIGNED] |
| uic | UNSIGNED LONG |
| user_arg | UNSIGNED LONG |
| varying_arg | UNSIGNED LONG |
| vector_byte_signed |
VECTOR[
n,BYTE,SIGNED]
where n is the size of the array. |
| vector_byte_unsigned |
VECTOR[
n,BYTE,UNSIGNED]
where n is the size of the array. |
| vector_longword_signed |
VECTOR[
n,LONG,SIGNED]
where n is the size of the array. |
| vector_longword_unsigned |
VECTOR[
n,LONG,UNSIGNED]
where n is the size of the array. |
| vector_quadword_signed |
BLOCKVECTOR[
n,2,LONG]
where n is the size of the array. |
| vector_quadword_unsigned |
BLOCKVECTOR[
n,2,LONG]
where n is the size of the array. |
| vector_word_signed |
VECTOR[
n,BYTE,SIGNED]
where n is the size of the array. |
| vector_word_unsigned |
VECTOR[
n,BYTE,UNSIGNED]
where n is the size of the array. |
| word_signed | SIGNED WORD |
| word_unsigned | UNSIGNED WORD |
Table B-6 lists the OpenVMS data types and their corresponding C and C++ data type declarations.
| OpenVMS Data Types | C and C++ Declarations |
|---|---|
| access_bit_names | User defined 1 |
| access_mode | unsigned char |
| address | User defined 1 *pointer 2,4 |
| address_range | int *array [2] 2,3,4 |
| arg_list | User defined 1 |
| ast_procedure | Pointer to function 2 |
| boolean | unsigned long int |
| byte_signed | char |
| byte_unsigned | unsigned char |
| channel | unsigned short int |
| char_string | char array[ n] 3,5 |
| complex_number | User defined 1 |
| cond_value | unsigned long int |
| context | unsigned long int |
| date_time | User defined 1 |
| device_name | char array[ n] 3,5 |
| ef_cluster_name | char array[ n] 3,5 |
| ef_number | unsigned long int |
| exit_handler_block | User defined 1 |
| fab |
#include <fab.h>
struct FAB |
| file_protection | unsigned short int or user defined 1 |
| floating_point | float, double, or long double |
| function_code | unsigned long int or user defined 1 |
| identifier | unsigned long int *pointer 2,4 |
| ++invo_context_blk |
#include <libicb.h>
struct invo_context_blk |
| ++invo_handle | unsigned long int |
| io_status_block | User defined 1 |
| item_list_2 | User defined 1 |
| item_list_3 | User defined 1 |
| item_list_pair | User defined 1 |
| item_quota_list | User defined 1 |
| lock_id | unsigned long int |
| lock_status_block | User defined 1 |
| lock_value_block | User defined 1 |
| logical_name | char array[ n] 3,5 |
| longword_signed | long int |
| longword_unsigned | unsigned long int |
| mask_byte | unsigned char |
| mask_longword | unsigned long int |
| mask_quadword | User defined 1 |
| mask_word | unsigned short int |
| mechanism_args |
#include <chfdef.h>
struct chf$mech_array |
| null_arg | unsigned long int |
| octaword_signed | User defined 1 |
| octaword_unsigned | User defined 1 |
| page_protection | unsigned long int |
| procedure | Pointer to function 2 |
| process_id | unsigned long int |
| process_name | char array[ n] 3,5 |
| quadword_signed | User defined 1 |
| quadword_unsigned | User defined 1 |
| rights_holder | User defined 1 |
| rights_id | unsigned long int |
| rab |
#include <rab.h>
struct RAB |
| section_id | User defined 1 |
| section_name | char array[ n] 3,5 |
| system_access_id | User defined 1 |
| time_name | char array[ n] 3,5 |
| transaction_id | User defined 1 |
| uic | unsigned long int |
| user_arg | User defined 1 |
| varying_arg | User defined 1 |
| vector_byte_signed | char array[ n] 3,5 |
| vector_byte_unsigned | unsigned char array[ n] 3,5 |
| vector_longword_signed | long int array[ n] 3,5 |
| vector_longword_unsigned | unsigned long int array[ n] 3,5 |
| vector_quadword_signed | User defined 1 |
| vector_quadword_unsigned | User defined 1 |
| vector_word_signed | short int array[ n] 3,5 |
| vector_word_unsigned | unsigned short int array[ n] 3,5 |
| word_signed | short int |
| word_unsigned | unsigned short int |
Table B-7 lists the OpenVMS data types and their corresponding COBOL data type declarations.
| OpenVMS Data Types | COBOL Declarations |
|---|---|
| access_bit_names | na ... PIC X(128) 1 |
| access_mode |
na ... PIC X
1
The access_mode data type is usually passed BY VALUE as PIC 9(5) COMP. |
| address | USAGE POINTER |
| address_range |
01 ADDRESS-RANGE
02 BEGINNING-ADDRESS USAGE POINTER 02 ENDING-ADDRESS USAGE POINTER |
| arg_list |
na ... Constructed by the compiler as a result of using the COBOL CALL
statement. An argument list may be created as follows, but cannot be
referenced by the COBOL CALL statement.
01 ARG-LIST 02 ARG-COUNT PIC S9(5) COMP 02 ARG-BY-VALUE PIC S9(5) COMP 02 ARG-BY-REFERENCE USAGE POINTER 02 VALUE REFERENCE ARG-NAME ... continue as needed |
| ast_procedure | 01 AST-PROC PIC 9(5) COMP 2 |
| boolean | 01 BOOLEAN-VALUE PIC 9(5) COMP 2 |
| byte_signed | na ... PIC X 1 |
| byte_unsigned | na ... PIC X 1 |
| channel | 01 CHANNEL PIC 9(4) COMP 2 |
| char_string | 01 CHAR-STRING PIC X to PIC X(65535) |
| complex_number | na ... PIC X( n), where n is the length. 1 |
| cond_value | 01 COND-VALUE PIC 9(5) COMP 2 |
| context | 01 CONTEXT PIC 9(5) COMP 2 |
| date_time | na ... PIC X(16) 1 |
| device_name | 01 DEVICE-NAME PIC X( n), where n is the length. |
| ef_cluster_name | 01 CLUSTER-NAME PIC X( n), where n is the length. |
| ef_number | 01 EF-NO PIC 9(5) COMP 2 |
| exit_handler_block | na ... PIC X( n), where n is the length. 1 |
| fab | na ... Too complex for general COBOL use. Most of a FAB structure can be described by a lengthy COBOL record description, but such a FAB cannot then be referenced by a COBOL I-O statement. It is much simpler to do the I-O completely within COBOL, and let the COBOL compiler generate the FAB structure or do the I-O in another language. |
| file_protection | 01 FILE-PROT PIC 9(4) COMP 2 |
| floating_point |
01 F-FLOAT USAGE COMP-1
01 D-FLOAT USAGE COMP-2 The G-float and H-float data types are not supported in COBOL. |
| function_code |
01 FUNCTION-CODE
02 MAJOR-FUNCTION PIC 9(4) COMP 2 02 SUB-FUNCTION PIC 9(4) COMP 2 |
| identifier | 01 ID PIC 9(5) COMP 2 |
| ++invo_context_blk | na |
| ++invo_handle | na |
| io_status_block |
01 IOSB
02 COND-VAL PIC 9(4) COMP 2 02 BYTE-CNT PIC 9(4) COMP 2 02 DEV-INFO PIC 9(5) COMP 2 |
| item_list_2 |
01 ITEM-LIST-TWO
02 ITEM-LIST OCCURS n TIMES 04 COMP-LENGTH PIC S9(4) COMP 04 ITEM-CODE PIC S9(4) COMP 04 COMP-ADDRESS PIC S9(5) COMP 02 TERMINATOR PIC S9(5) COMP VALUE 0 |
| item_list_3 |
01 ITEM-LIST-3
02 ITEM-LIST OCCURS n TIMES 04 BUF-LEN PIC S9(4) COMP 04 ITEM-CODE PIC S9(4) COMP 04 BUFFER-ADDRESS PIC S9(5) COMP 04 LENGTH-ADDRESS PIC S9(5) COMP 02 TERMINATOR PIC S9(5) COMP VALUE 0 |
| item_list_pair |
01 ITEM-LIST-PAIR
02 ITEM-LIST OCCURS n TIMES 04 ITEM-CODE PIC S9(5) COMP 04 ITEM-VALUE PIC S9(5) COMP 02 TERMINATOR PIC S9(5) COMP VALUE 0 |
| item_quota_list | na |
| lock_id | 01 LOCK-ID PIC 9(5) COMP 2 |
| lock_status_block | na |
| lock_value_block | na |
| logical_name | 01 LOG-NAME PIC X TO X(255) |
| longword_signed | 01 LWS PIC S9(5) COMP |
| longword_unsigned | 01 LWU PIC 9(5) COMP 2 |
| mask_byte | na ... PIC X 1 |
| mask_longword | 01 MLW PIC 9(5) COMP 2 |
| mask_quadword | 01 MQW PIC 9(18) COMP 2 |
| mask_word | 01 MW PIC 9(4) COMP 2 |
| mechanism_args | na |
| null_arg |
CALL ... USING OMITTED or
PIC S9(5) COMP VALUE 0 passed USING BY VALUE |
| octaword_signed | na |
| octaword_unsigned | na |
| page_protection | 01 PAGE-PROT PIC 9(5) COMP 2 |
| procedure | 01 ENTRY-MASK PIC 9(5) COMP 2 |
| process_id | 01 PID PIC 9(5) COMP 2 |
| process_name | 01 PROCESS-NAME PIC X TO X(15) |
| quadword_signed | 01 QWS PIC S9(18) COMP |
| quadword_unsigned | 01 QWU PIC 9(18) COMP 2 |
| rights_holder |
01 RIGHTS-HOLDER
02 RIGHTS-ID PIC 9(5) COMP 2 02 ACCESS-RIGHTS PIC 9(5) COMP 2 |
| rights_id | 01 RIGHTS-ID PIC 9(5) COMP 2 |
| rab | na ... Too complex for general COBOL use. Most of a RAB structure can be described by a lengthy COBOL record description, but such a RAB cannot then be referenced by a COBOL I-O statement. It is much simpler to do the I-O completely within COBOL, and let the COBOL compiler generate the RAB structure, or do the I-O in another language. |
| section_id | 01 SECTION-ID PIC 9(18) COMP 2 |
| section_name | 01 SECTION-NAME PIC X to X(43) |
| system_access_id | 01 SECTION-ACCESS-ID PIC 9(18) COMP 2 |
| time_name | 01 TIME-NAME PIC X( n), where n is the length. |
| transaction_id | na |
| uic | 01 UIC PIC 9(5) COMP 2 |
| user_arg | 01 USER-ARG PIC 9(5) COMP 2 |
| varying_arg | Depends on the application. |
| vector_byte_signed | na ... 3 |
| vector_byte_unsigned | na ... 3 |
| vector_longword_signed | na ... 3 |
| vector_longword_unsigned | na ... 3 |
| vector_quadword_signed | na ... 3 |
| vector_quadword_unsigned | na ... 3 |
| vector_word_signed | na ... 3 |
| vector_word_unsigned | na ... 3 |
| word_signed | 01 WS PIC S9(4) COMP |
| word_unsigned | 01 WS PIC 9(4) COMP 2 |
| Previous | Next | Contents | Index |
|
| privacy and legal statement | ||
| 5843PRO_010.HTML | ||