18 #ifdef POK_NEEDS_ARINC653_BUFFER
30 #ifndef POK_NEEDS_ARINC653_PROCESS
31 #define POK_NEEDS_ARINC653_PROCESS
34 #include <arinc653/types.h>
35 #include <arinc653/process.h>
37 #define MAX_NUMBER_OF_BUFFERS SYSTEM_LIMIT_NUMBER_OF_BUFFERS
39 typedef NAME_TYPE BUFFER_NAME_TYPE;
41 typedef APEX_INTEGER BUFFER_ID_TYPE;
44 MESSAGE_RANGE_TYPE NB_MESSAGE;
45 MESSAGE_RANGE_TYPE MAX_NB_MESSAGE;
46 MESSAGE_SIZE_TYPE MAX_MESSAGE_SIZE;
47 WAITING_RANGE_TYPE WAITING_PROCESSES;
52 extern void CREATE_BUFFER (
53 BUFFER_NAME_TYPE BUFFER_NAME,
54 MESSAGE_SIZE_TYPE MAX_MESSAGE_SIZE,
55 MESSAGE_RANGE_TYPE MAX_NB_MESSAGE,
56 QUEUING_DISCIPLINE_TYPE QUEUING_DISCIPLINE,
57 BUFFER_ID_TYPE *BUFFER_ID,
58 RETURN_CODE_TYPE *RETURN_CODE );
60 extern void SEND_BUFFER (
61 BUFFER_ID_TYPE BUFFER_ID,
62 MESSAGE_ADDR_TYPE MESSAGE_ADDR,
63 MESSAGE_SIZE_TYPE LENGTH,
64 SYSTEM_TIME_TYPE TIME_OUT,
65 RETURN_CODE_TYPE *RETURN_CODE );
67 extern void RECEIVE_BUFFER (
68 BUFFER_ID_TYPE BUFFER_ID,
69 SYSTEM_TIME_TYPE TIME_OUT,
70 MESSAGE_ADDR_TYPE MESSAGE_ADDR,
71 MESSAGE_SIZE_TYPE *LENGTH,
72 RETURN_CODE_TYPE *RETURN_CODE );
74 extern void GET_BUFFER_ID (
75 BUFFER_NAME_TYPE BUFFER_NAME,
76 BUFFER_ID_TYPE *BUFFER_ID,
77 RETURN_CODE_TYPE *RETURN_CODE );
79 extern void GET_BUFFER_STATUS (
80 BUFFER_ID_TYPE BUFFER_ID,
82 RETURN_CODE_TYPE *RETURN_CODE );