[  Next Article  |
Previous Article  |
Book Contents |
Library Home |
Legal |
Search ]
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.
[  Next Article  |
Previous Article  |
Book Contents |
Library Home |
Legal |
Search ]