17 #ifdef POK_NEEDS_ARINC653_QUEUEING
19 #ifndef POK_NEEDS_ARINC653_PROCESS
20 #define POK_NEEDS_ARINC653_PROCESS
23 #include <arinc653/process.h>
24 #include <arinc653/types.h>
28 #define MAX_NUMBER_OF_QUEUING_PORTS SYSTEM_LIMIT_NUMBER_OF_QUEUING_PORTS
29 typedef NAME_TYPE QUEUING_PORT_NAME_TYPE;
30 typedef APEX_INTEGER QUEUING_PORT_ID_TYPE;
33 MESSAGE_RANGE_TYPE NB_MESSAGE;
34 MESSAGE_RANGE_TYPE MAX_NB_MESSAGE;
35 MESSAGE_SIZE_TYPE MAX_MESSAGE_SIZE;
36 PORT_DIRECTION_TYPE PORT_DIRECTION;
37 WAITING_RANGE_TYPE WAITING_PROCESSES;
40 extern void CREATE_QUEUING_PORT (
41 QUEUING_PORT_NAME_TYPE QUEUING_PORT_NAME,
42 MESSAGE_SIZE_TYPE MAX_MESSAGE_SIZE,
43 MESSAGE_RANGE_TYPE MAX_NB_MESSAGE,
44 PORT_DIRECTION_TYPE PORT_DIRECTION,
45 QUEUING_DISCIPLINE_TYPE QUEUING_DISCIPLINE,
46 QUEUING_PORT_ID_TYPE *QUEUING_PORT_ID,
47 RETURN_CODE_TYPE *RETURN_CODE );
49 extern void SEND_QUEUING_MESSAGE (
50 QUEUING_PORT_ID_TYPE QUEUING_PORT_ID,
51 MESSAGE_ADDR_TYPE MESSAGE_ADDR,
52 MESSAGE_SIZE_TYPE LENGTH,
53 SYSTEM_TIME_TYPE TIME_OUT,
54 RETURN_CODE_TYPE *RETURN_CODE);
56 extern void RECEIVE_QUEUING_MESSAGE (
57 QUEUING_PORT_ID_TYPE QUEUING_PORT_ID,
58 SYSTEM_TIME_TYPE TIME_OUT,
59 MESSAGE_ADDR_TYPE MESSAGE_ADDR,
60 MESSAGE_SIZE_TYPE *LENGTH,
61 RETURN_CODE_TYPE *RETURN_CODE );
63 extern void GET_QUEUING_PORT_ID (
64 QUEUING_PORT_NAME_TYPE QUEUING_PORT_NAME,
65 QUEUING_PORT_ID_TYPE *QUEUING_PORT_ID,
66 RETURN_CODE_TYPE *RETURN_CODE );
68 extern void GET_QUEUING_PORT_STATUS (
69 QUEUING_PORT_ID_TYPE QUEUING_PORT_ID,
71 RETURN_CODE_TYPE *RETURN_CODE );