[ Previous |
Next |
Contents |
Home |
Search ]
AIX Version 4.3 Kernel and Subsystems Technical Reference, Volume 1
raw_usrreq Kernel Service
Purpose
Implements user requests for raw protocols.
Syntax
#include <sys/types.h>
#include <sys/errno.h>
void raw_usrreq (so, req, m, nam, control)
struct socket *so;
int req;
struct mbuf *m;
struct mbuf *nam;
struct mbuf *control;
Parameters
| so |
Identifies the address of a raw socket. |
| req |
Specifies the request command. |
| m |
Specifies the address of an mbuf structure containing data. |
| nam |
Specifies the address of an mbuf structure containing the sockaddr structure. |
| control |
This parameter should be set to a null value. |
Description
The raw_usrreq kernel service implements user requests for the raw protocol.
The raw_usrreq service supports the following commands:
| PRU_ABORT |
Aborts (fast DISCONNECT, DETACH). |
| PRU_ACCEPT |
Accepts connection from peer. |
| PRU_ATTACH |
Attaches protocol to up. |
| PRU_BIND |
Binds socket to address. |
| PRU_CONNECT |
Establishes connection to peer. |
| PRU_CONNECT2 |
Connects two sockets. |
| PRU_CONTROL |
Controls operations on protocol. |
| PRU_DETACH |
Detaches protocol from up. |
| PRU_DISCONNECT |
Disconnects from peer. |
| PRU_LISTEN |
Listens for connection. |
| PRU_PEERADDR |
Fetches peer's address. |
| PRU_RCVD |
Have taken data; more room now. |
| PRU_RCVOOB |
Retrieves out of band data. |
| PRU_SEND |
Sends this data. |
| PRU_SENDOOB |
Sends out of band data. |
| PRU_SENSE |
Returns status into m. |
| PRU_SOCKADDR |
Fetches socket's address. |
| PRU_SHUTDOWN |
Will not send any more data. |
Any unrecognized command causes the panic kernel service to be called.
The raw_userreq kernel service can be called from either the process or interrupt environment.
Return Values
| EOPNOTSUPP |
Indicates an unsupported command. |
| EINVAL |
Indicates a parameter error. |
| EACCESS |
Indicates insufficient authority to support the PRU_ATTACH command. |
| ENOTCONN |
Indicates an attempt to detach when not attached. |
| EISCONN |
Indicates that the caller tried to connect while already connected. |
Implementation Specifics
The raw_userreq kernel service is part of Base Operating System (BOS) Runtime.
Related Information
The panic kernel service.
Network Kernel Services in AIX Kernel Extensions and Device Support Programming Concepts.
[ Previous |
Next |
Contents |
Home |
Search ]