CONTENTS Title Page Copyright Page Preface 1 VAXELN Routine Description Conventions 1.1 Routine Description Format and Conventions 1.1.1 Sample Routine Description DO REALTIME 1 1.1.2 Sample Routine Description Explanation 1.2 Language Conventions 1.2.1 Ada Conventions 1.2.1.1 Using the VAXELN_SERVICES Package 1.2.1.2 Using the Dollar Sign Character ( $ ) 1.2.2 C Conventions 1.2.3 Pascal Conventions 1.3 Return Values 1.3.1 Condition Values Returned 1.3.2 Condition Values Signaled 1.4 Routine Argument Data 1.4.1 VAXELN Usage 1.4.2 VAX Data Types 1.4.3 Access Types 1.4.4 Passing Mechanisms 1.5 Notes on the VAX Procedure Calling and Condition Handling Standard 1.5.1 Vector Support 1.5.2 Condition Handling 1.5.3 Debugging 1.5.4 Language Support 1.5.5 Default Output 2 VAXELN Kernel Routine Summary 3 Kernel Routine Descriptions ACCEPT CIRCUIT ADD INTERLOCKED ADD LARGE INTEGERS ALLOCATE CLEAR HEAP ALLOCATE HEAP ALLOCATE MAP ALLOCATE MEMORY ALLOCATE PATH ALLOCATE STACK ALLOCATE SYSTEM REGION BI NODE MASK BI STOP CANCEL EXIT HANDLER CLEAR EVENT CONNECT CIRCUIT CPU INTERRUPT MASK CREATE AREA CREATE AREA EVENT CREATE AREA SEMAPHORE CREATE DEVICE CREATE EVENT CREATE JOB CREATE MESSAGE CREATE MUTEX CREATE NAME CREATE PORT CREATE PROCESS CREATE SEMAPHORE CURRENT PROCESS DEALLOCATE STACK DECLARE EXIT HANDLER DELETE DELETE MUTEX DISABLE ASYNCH EXCEPTION DISABLE INTERRUPT DISABLE SWITCH DISCONNECT CIRCUIT ENABLE ASYNCH EXCEPTION ENABLE INTERRUPT ENABLE SWITCH ENTER KERNEL CONTEXT ESTABLISH EXIT FREE HEAP FREE MAP FREE MEMORY FREE PATH FREE SYSTEM REGION GET JCB GET STATUS TEXT GET TIME GET UPTIME GET USER INITIALIZATION DONE INITIALIZE AREA LOCK INSERT ENTRY JOB PORT LOAD KA800 PROCESSOR LOAD PROGRAM LOAD UNIBUS MAP LOCK AREA LOCK DEVICE LOCK MUTEX MEMORY SIZE MFPR MTPR NAME OBJECT PHYSICAL ADDRESS PROGRAM ARGUMENT PROGRAM ARGUMENT COUNT RAISE EXCEPTION RAISE PROCESS EXCEPTION READ REGISTER RECEIVE REMOVE ENTRY RESUME SEND SET JOB ELIGIBILITY SET JOB PRIORITY SET JOB PRIORITY ANY SET PROCESS PRIORITY SET TIME SET USER SIGNAL SIGNAL DEVICE START QUEUE START QUEUE RELATIVE SUB LARGE INTEGERS SUSPEND TIME FIELDS TIME STRING TIME VALUE TRANSLATE NAME UNIBUS MAP UNIBUS UNMAP UNLOAD PROGRAM UNLOCK AREA UNLOCK DEVICE UNLOCK MUTEX UNWIND WAIT ALL and WAIT ANY WAIT ALL EXPEDITED and WAIT ANY EXPEDITED WRITE REGISTER A VAXELN Data Types A.1 address A.2 arg_list A.3 boolean A.4 byte_unsigned A.5 char_string A.6 cond_value A.7 context A.8 data_buffer A.9 descriptor A.10 function_descriptor A.11 get_status A.12 job_control_block A.13 job_eligibility_mask A.14 large_integer A.15 lock_variable A.16 longword_signed A.17 longword_unsigned A.18 mask_longword A.19 mutex A.20 object_identifier A.21 port_identifier A.22 procedure A.23 quadword_unsigned A.24 queue_entry A.25 time_name A.26 time_record A.27 time_value A.28 uic A.29 user_arg A.30 varying_char_string A.31 word_signed A.32 word_unsigned FIGURES 3-1 A Device Register TABLES 1-1 Optional Argument Usage 1-2 VAX Data Types Used in VAXELN 1-3 Access Methods 1-4 Passing Mechanisms 2-1 Kernel Routine Summary