Updated: 11 December 1998 |
OpenVMS Programming Interfaces: Calling a System
Routine
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 |
Copyright © Compaq Computer Corporation 1998. All rights reserved. Legal |
5843PRO_010.HTML
|