MqMsgque PACKAGE - the L)anguage A)bstraction L)ayer definition … More...
Collaboration diagram for MqMsgque_Sys_C_API:Data Structures | |
| struct | MqSysServerThreadMainS |
| data used to initialize a new created thread … More... | |
| struct | MqLalS |
| Interface between MqContextS and the Operating-System … More... | |
Typedefs | |
| typedef int(* | MqSysSelectF) (int max, void *read, void *write, void *except, struct timeval *timeout) |
| select syscall … | |
| typedef enum MkErrorE(* | MqSysServerSpawnF) (MK_RT mkrt, MQ_RT mqrt, MQ_CTX const ctx, char *const *argv, MK_STRN name, struct MkIdS *idPtrOut) |
| spawn server create syscall with libmqmsgque error plugin | |
| typedef enum MkErrorE(* | MqSysServerThreadF) (MK_RT mkrt, MQ_CTX const ctx, struct MqSysServerThreadMainS *const argP, MK_STRN name, int state, struct MkIdS *idPtrOut) |
| thread server create syscall with libmqmsgque error plugin | |
| typedef enum MkErrorE(* | MqSysServerForkF) (MK_RT mkrt, MQ_RT mqrt, MQ_CTX const ctx, MQ_FCT factory, MK_BFL *argsP, MK_STRN name, MQ_SOCK_HDL socket, struct MkIdS *idPtrOut) |
| fork server create syscall with libmqmsgque error plugin | |
Functions | |
| void | MqSysServerThreadMain (struct MqSysServerThreadMainS *data) |
| initialize a new thread … | |
Variables | |
| struct MqLalS | MqLal |
| Language Abstraction Layer in duty. | |
MqMsgque PACKAGE - the L)anguage A)bstraction L)ayer definition …
The LAL is required to give the target of embedding a change to modify the access to system functions. RUBY for example has it's own Thread-Creation function.
All wrappers to access the underlying OS,Languages and system functions are located in this section. Every external Function has additional code to map the OS/System specific error codes/messages into a libmqmsgque specific error codes/messages
| typedef int(* MqSysSelectF) (int max, void *read, void *write, void *except, struct timeval *timeout) |
select syscall …
read more at: man 2 select
| [in] | max | the maximum file descriptor + 1 from the read, write or except input data |
| [in] | read | set of file descriptors |
| [in] | write | set of file descriptors |
| [in] | except | set of file descriptors |
| [in] | timeout | maximum time to wait for data |
Definition at line 2665 of file LibMqMsgque_mq.h.
| typedef enum MkErrorE(* MqSysServerForkF) (MK_RT mkrt, MQ_RT mqrt, MQ_CTX const ctx, MQ_FCT factory, MK_BFL *argsP, MK_STRN name, MQ_SOCK_HDL socket, struct MkIdS *idPtrOut) |
fork server create syscall with libmqmsgque error plugin
| [in] | mkrt | the MkRuntimeS instance to work on - the runtime argument, used by MK_RT_CALL (C-only) |
| [in] | mqrt | the MqRuntimeS instance to work on - the runtime argument, used by MQ_RT_CALL (C-only) |
| [in] | ctx | the MqContextS instance to work on |
| [in,out] | factory | server configuration (memory will be freed) |
| [in] | argsP | command-line arguments before MK_ALFA, owned by SysServerThread |
| [in] | name | the name of the thread |
| [in] | socket | the name of the socket the ne FORK have to listen |
| [out] | idPtrOut | the process identifier, pointer is not MK_NULL |
Example:
Definition at line 2709 of file LibMqMsgque_mq.h.
| typedef enum MkErrorE(* MqSysServerSpawnF) (MK_RT mkrt, MQ_RT mqrt, MQ_CTX const ctx, char *const *argv, MK_STRN name, struct MkIdS *idPtrOut) |
spawn server create syscall with libmqmsgque error plugin
| [in] | mkrt | the MkRuntimeS instance to work on - the runtime argument, used by MK_RT_CALL (C-only) |
| [in] | mqrt | the MqRuntimeS instance to work on - the runtime argument, used by MQ_RT_CALL (C-only) |
| [in] | ctx | the MqContextS instance to work on |
| [in] | argv | command-line arguments |
| [in] | name | the name of the process |
| [out] | idPtrOut | the process identifier, pointer is not MK_NULL |
Example:
Definition at line 2709 of file LibMqMsgque_mq.h.
| typedef enum MkErrorE(* MqSysServerThreadF) (MK_RT mkrt, MQ_CTX const ctx, struct MqSysServerThreadMainS *const argP, MK_STRN name, int state, struct MkIdS *idPtrOut) |
thread server create syscall with libmqmsgque error plugin
| [in] | mkrt | the MkRuntimeS instance to work on - the runtime argument, used by MK_RT_CALL (C-only) |
| [in] | ctx | the MqContextS instance to work on |
| [in] | argP | thread startup environment |
| [in] | name | the name of the thread |
| [in] | state | state of the thread PTHREAD_CREATE_DETACHED or PTHREAD_CREATE_JOINABLE |
| [out] | idPtrOut | the thread identifier, pointer is not MK_NULL |
Example:
Definition at line 2709 of file LibMqMsgque_mq.h.
| void MqSysServerThreadMain | ( | struct MqSysServerThreadMainS * | data | ) |
initialize a new thread …
A libmqmsgque thread can be created with the MqLalS::MqSysServerThreadCB "included" or by a new target-language-specific MqLalS::MqSysServerThreadCB. If a target-language-specific MqLalS::MqSysServerThreadCB is used, it is required to call the LibMqMsgque MqSysServerThreadMain to initialize the new thread proper.
| [in] | data | configuration data for the new thread |
|
extern |
Language Abstraction Layer in duty.