[ Previous | Next | Contents | Home | Search ]
AIX Version 4.3 Kernel Extensions and Device Support Programming Concepts

Message Queue Kernel Services

The Message Queue kernel services provide the same message queue functions to a kernel extension as the msgctl, msgget, msgsnd, and msgxrcv subroutines make available to a program executing in user mode. Parameters have been added for moving returned information to an explicit parameter to free the return codes for error code usage. Instead of the error information available in the errno global variable (as in user mode), the Message Queue services use the service's return code. The error values are the same, except that a memory fault error (EFAULT) cannot occur because message buffer pointers in the kernel address space are assumed to be valid.

The Message Queue services can be called only from the process environment because they prevent the caller from specifying kernel buffers. These services can be used as an Interprocess Communication mechanism to other kernel processes or user-mode processes. See "Kernel Extension and Device Driver Management Kernel Services" for more information on the functions that these services provide.

There are four Message Queue services available from the kernel:

kmsgctl Provides message-queue control operations.
kmsgget Obtains a message-queue identifier.
kmsgrcv Reads a message from a message queue.
kmsgsnd Sends a message using a previously defined message queue.

Related Information

The msgctl subroutine, msgget subroutine, msgsnd subroutine, and msgxrcv subroutine.


[ Previous | Next | Contents | Home | Search ]