/* Ported to GNU C openVMS/Alpha by Klaus Kämpf, kkaempf@progis.de */ /* * * Parallel processing run-time library routines. */ #ifndef _PPL$ROUTINES_H #define _PPL$ROUTINES_H # ifdef __cplusplus extern "C" { # endif /* PPL$ADJUST_QUORUM -- adjust barrier quorum */ #define ppl$adjust_quorum PPL$ADJUST_QUORUM unsigned long ppl$adjust_quorum(); /* PPL$ADJUST_SEMAPHORE_MAXIMUM -- adjust a semaphore maximum */ #define ppl$adjust_semaphore_maximum PPL$ADJUST_SEMAPHORE_MAXIMUM unsigned long ppl$adjust_semaphore_maximum(); /* PPL$AWAIT_EVENT -- await event occurrence */ #define ppl$await_event PPL$AWAIT_EVENT unsigned long ppl$await_event(); /* PPL$CREATE_APPLICATION -- form or join a PPL$ application */ #define ppl$create_application PPL$CREATE_APPLICATION unsigned long ppl$create_application(); /* PPL$CREATE_BARRIER -- create a barrier */ #define ppl$create_barrier PPL$CREATE_BARRIER unsigned long ppl$create_barrier(); /* PPL$CREATE_EVENT -- create an event */ #define ppl$create_event PPL$CREATE_EVENT unsigned long ppl$create_event(); /* PPL$CREATE_SEMAPHORE -- create a semaphore */ #define ppl$create_semaphore PPL$CREATE_SEMAPHORE unsigned long ppl$create_semaphore(); /* PPL$CREATE_SHARED_MEMORY -- create shared memory */ #define ppl$create_shared_memory PPL$CREATE_SHARED_MEMORY unsigned long ppl$create_shared_memory(); /* PPL$CREATE_SPIN_LOCK -- create spin lock */ #define ppl$create_spin_loc PPL$CREATE_SPIN_LOC unsigned long ppl$create_spin_loc(); /* PPL$CREATE_VM_ZONE -- create a new virtual memory zone */ #define ppl$create_vm_zone PPL$CREATE_VM_ZONE unsigned long ppl$create_vm_zone(); /* PPL$CREATE_WORK_QUEUE -- create a work queue */ #define ppl$create_work_queue PPL$CREATE_WORK_QUEUE unsigned long ppl$create_work_queue(); /* PPL$DECREMENT_SEMAPHORE -- decrement a semaphore */ #define ppl$decrement_semaphore PPL$DECREMENT_SEMAPHORE unsigned long ppl$decrement_semaphore(); /* PPL$DELETE_APPLICATION -- delete a PPL$ application */ #define ppl$delete_application PPL$DELETE_APPLICATION unsigned long ppl$delete_application(); /* PPL$DELETE_WORK_ITEM -- delete a work queue item */ #define ppl$delete_work_item PPL$DELETE_WORK_ITEM unsigned long ppl$delete_work_item(); /* PPL$DELETE_SHARED_MEMORY -- delete shared memory */ #define ppl$delete_shared_memory PPL$DELETE_SHARED_MEMORY unsigned long ppl$delete_shared_memory(); /* PPL$DELETE_WORK_QUEUE -- delete a work queue */ #define ppl$delete_work_queue PPL$DELETE_WORK_QUEUE unsigned long ppl$delete_work_queue(); /* PPL$DISABLE_EVENT -- disable asynchronous notification of an event */ #define ppl$disable_event PPL$DISABLE_EVENT unsigned long ppl$disable_event(); /* PPL$ENABLE_EVENT_AST -- enable AST notification of an event */ #define ppl$enable_event_ast PPL$ENABLE_EVENT_AST unsigned long ppl$enable_event_ast(); /* PPL$ENABLE_EVENT_SIGNAL -- enable signal notification of avent */ #define ppl$enable_event_signal PPL$ENABLE_EVENT_SIGNAL unsigned long ppl$enable_event_signal(); /* PPL$FIND_OBJECT_ID -- find object identification */ #define ppl$find_object_id PPL$FIND_OBJECT_ID unsigned long ppl$find_object_id(); /* PPL$FIND_SYNCH_ELEMENT_ID -- find synchronizatin element identification */ #define ppl$find_synch_element_id PPL$FIND_SYNCH_ELEMENT_ID unsigned long ppl$find_synch_element_id(); /*(obsolete)*/ /* PPL$FLUSH_SHARED_MEMORY -- flush shared memory */ #define ppl$flush_shared_memory PPL$FLUSH_SHARED_MEMORY unsigned long ppl$flush_shared_memory(); /* PPL$GET_INDEX -- get index of a participant */ #define ppl$get_index PPL$GET_INDEX unsigned long ppl$get_index(); /* PPL$INCREMENT_SEMAPHORE -- increment a semaphore */ #define ppl$increment_semaphore PPL$INCREMENT_SEMAPHORE unsigned long ppl$increment_semaphore(); /* PPL$INDEX_TO_PID -- convert participant index to vms pid */ #define ppl$index_to_pid PPL$INDEX_TO_PID unsigned long ppl$index_to_pid(); /* PPL$INITIALIZE -- initialize the PPL$ facility */ #define ppl$initialize PPL$INITIALIZE unsigned long ppl$initialize(); /*(obsolete)*/ /* PPL$INSERT_WORK_ITEM -- insert a work queue item */ #define ppl$insert_work_item PPL$INSERT_WORK_ITEM unsigned long ppl$insert_work_item(); /* PPL$PID_TO_INDEX -- convert VMS PID to particant index */ #define ppl$pid_to_index PPL$PID_TO_INDEX unsigned long ppl$pid_to_index(); /* PPL$READ_BARRIER -- read a barrier */ #define ppl$read_barrier PPL$READ_BARRIER unsigned long ppl$read_barrier(); /* PPL$READ_EVENT -- read an event state */ #define ppl$read_event PPL$READ_EVENT unsigned long ppl$read_event(); /* PPL$READ_SEMAPHORE -- read semaphore values */ #define ppl$read_semaphore PPL$READ_SEMAPHORE unsigned long ppl$read_semaphore(); /* PPL$READ_SPIN_LOCK -- read a spin lock state */ #define ppl$read_spin_lock PPL$READ_SPIN_LOCK unsigned long ppl$read_spin_lock(); /* PPL$READ_WORK_QUEUE -- read a work queue */ #define ppl$read_work_queue PPL$READ_WORK_QUEUE unsigned long ppl$read_work_queue(); /* PPL$RELEASE_SPIN_LOCK -- release spin lock */ #define ppl$release_spin_lock PPL$RELEASE_SPIN_LOCK unsigned long ppl$release_spin_lock(); /* PPL$REMOVE_WORK_ITEM -- remove a work queue item */ #define ppl$remove_work_item PPL$REMOVE_WORK_ITEM unsigned long ppl$remove_work_item(); /* PPL$RESET_EVENT -- reset an event */ #define ppl$reset_event PPL$RESET_EVENT unsigned long ppl$reset_event(); /* PPL$SEIZE_SPIN_LOCK -- seize spin lock */ #define ppl$seize_spin_lock PPL$SEIZE_SPIN_LOCK unsigned long ppl$seize_spin_lock(); /* PPL$SET_QUORUM -- set barrier quorum */ #define ppl$set_quorum PPL$SET_QUORUM unsigned long ppl$set_quorum(); /* PPL$SET_SEMAPHORE_MAXIMUM -- set a semaphore maximum */ #define ppl$set_semaphore_maximum PPL$SET_SEMAPHORE_MAXIMUM unsigned long ppl$set_semaphore_maximum(); /* PPL$SPAWN -- initiate parallel execution */ #define ppl$spawn PPL$SPAWN unsigned long ppl$spawn(); /* PPL$STOP -- stop a participant */ #define ppl$stop PPL$STOP unsigned long ppl$stop(); /* PPL$TERMINATE -- abort PPL$ participation */ #define ppl$terminate PPL$TERMINATE unsigned long ppl$terminate(); /* PPL$TRIGGER_EVENT -- trigger an event */ #define ppl$trigger_event PPL$TRIGGER_EVENT unsigned long ppl$trigger_event(); /* PPL$UNIQUE_NAME -- produce a unique name */ #define ppl$unique_name PPL$UNIQUE_NAME unsigned long ppl$unique_name(); /* PPL$WAIT_AT_BARRIER -- synchronize at a barrier */ #define ppl$wait_at_barrier PPL$WAIT_AT_BARRIER unsigned long ppl$wait_at_barrier(); # ifdef __cplusplus } # endif #endif /*_PPL$ROUTINES_H*/