CPU api_ioc { /* * IOC QUEUED */ APICONFIG ioc_queued { ID_PREFIX = OS; HEADER = "tpl_ioc_queued_kernel"; HEADER = "tpl_ioc_queue"; FILE = "tpl_ioc_queued_kernel"; FILE = "tpl_ioc_queue"; DIRECTORY = "ioc"; SYSCALL IOCSend { KERNEL = tpl_ioc_send_queued_service; LOCK_KERNEL = TRUE; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n" "E_OS_ID: is invalid (Extended)"; /* TODO */ ARGUMENT ioc_id { KIND = VAR; TYPE = tpl_ioc_id; } : "The identifier of the ioc" ; ARGUMENT ioc_data { KIND = P2CONST; TYPE = tpl_ioc_message; } : "The data of the ioc" ; }; SYSCALL IOCReceive { KERNEL = tpl_ioc_receive_queued_service; LOCK_KERNEL = TRUE; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n" "E_OS_ID: is invalid (Extended)"; /* TODO */ ARGUMENT ioc_id { KIND = VAR; TYPE = tpl_ioc_id; } : "The identifier of the ioc" ; ARGUMENT ioc_data { KIND = P2CONST; TYPE = tpl_ioc_message; } : "The data of the ioc" ; }; SYSCALL IOCEmptyQueue { KERNEL = tpl_ioc_empty_queue_service; LOCK_KERNEL = TRUE; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n" "E_OS_ID: is invalid (Extended)"; /* TODO */ ARGUMENT ioc_id { KIND = VAR; TYPE = tpl_ioc_id; } : "The identifier of the ioc" ; }; }; /* * IOC UNQUEUED */ APICONFIG ioc_unqueued { ID_PREFIX = OS; HEADER = "tpl_ioc_unqueued_kernel"; FILE = "tpl_ioc_unqueued_kernel"; DIRECTORY = "ioc"; SYSCALL IOCWrite { KERNEL = tpl_ioc_send_unqueued_service; LOCK_KERNEL = TRUE; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n" "E_OS_ID: is invalid (Extended)"; /* TODO */ ARGUMENT ioc_id { KIND = VAR; TYPE = tpl_ioc_id; } : "The identifier of the ioc" ; ARGUMENT ioc_data { KIND = P2CONST; TYPE = tpl_ioc_message; } : "The data of the ioc" ; }; SYSCALL IOCRead { KERNEL = tpl_ioc_receive_unqueued_service; LOCK_KERNEL = TRUE; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n" "E_OS_ID: is invalid (Extended)"; /* TODO */ ARGUMENT ioc_id { KIND = VAR; TYPE = tpl_ioc_id; } : "The identifier of the ioc" ; ARGUMENT ioc_data { KIND = P2CONST; TYPE = tpl_ioc_message; } : "The data of the ioc" ; }; }; };