Xenomai  3.1
ipc.h File Reference

This file is part of the Xenomai project. More...

Include dependency graph for ipc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rtipc_port_label
 Port label information structure. More...
 
struct  sockaddr_ipc
 Socket address structure for the RTIPC address family. More...
 

Macros

XDDP socket options

Setting and getting XDDP socket options.

#define XDDP_LABEL   1
 XDDP label assignment. More...
 
#define XDDP_POOLSZ   2
 XDDP local pool size configuration. More...
 
#define XDDP_BUFSZ   3
 XDDP streaming buffer size configuration. More...
 
#define XDDP_MONITOR   4
 XDDP monitoring callback. More...
 
XDDP events

Specific events occurring on XDDP channels, which can be monitored via the XDDP_MONITOR socket option.

#define XDDP_EVTIN   1
 Monitor writes to the non real-time endpoint. More...
 
#define XDDP_EVTOUT   2
 Monitor reads from the non real-time endpoint. More...
 
#define XDDP_EVTDOWN   3
 Monitor close from the non real-time endpoint. More...
 
#define XDDP_EVTNOBUF   4
 Monitor memory shortage for non real-time datagrams. More...
 
IDDP socket options

Setting and getting IDDP socket options.

#define IDDP_LABEL   1
 IDDP label assignment. More...
 
#define IDDP_POOLSZ   2
 IDDP local pool size configuration. More...
 
BUFP socket options

Setting and getting BUFP socket options.

#define BUFP_LABEL   1
 BUFP label assignment. More...
 
#define BUFP_BUFSZ   2
 BUFP buffer size configuration. More...
 
Socket level options

Setting and getting supported standard socket level options.

#define SO_SNDTIMEO   defined_by_kernel_header_file
 IPCPROTO_IDDP and IPCPROTO_BUFP protocols support the standard SO_SNDTIMEO socket option, from the SOL_SOCKET level. More...
 
#define SO_RCVTIMEO   defined_by_kernel_header_file
 All RTIPC protocols support the standard SO_RCVTIMEO socket option, from the SOL_SOCKET level. More...
 

Typedefs

typedef int16_t rtipc_port_t
 Port number type for the RTIPC address family.
 

Enumerations

RTIPC protocol list

protocols for the PF_RTIPC protocol family

enum  { IPCPROTO_IPC = 0, IPCPROTO_XDDP = 1, IPCPROTO_IDDP = 2, IPCPROTO_BUFP = 3 }
 

Functions

Supported operations

Standard socket operations supported by the RTIPC protocols.

int socket__AF_RTIPC (int domain=AF_RTIPC, int type=SOCK_DGRAM, int protocol)
 Create an endpoint for communication in the AF_RTIPC domain. More...
 
int close__AF_RTIPC (int sockfd)
 Close a RTIPC socket descriptor. More...
 
int bind__AF_RTIPC (int sockfd, const struct sockaddr_ipc *addr, socklen_t addrlen)
 Bind a RTIPC socket to a port. More...
 
int connect__AF_RTIPC (int sockfd, const struct sockaddr_ipc *addr, socklen_t addrlen)
 Initiate a connection on a RTIPC socket. More...
 
int setsockopt__AF_RTIPC (int sockfd, int level, int optname, const void *optval, socklen_t optlen)
 Set options on RTIPC sockets. More...
 
int getsockopt__AF_RTIPC (int sockfd, int level, int optname, void *optval, socklen_t *optlen)
 Get options on RTIPC sockets. More...
 
ssize_t sendmsg__AF_RTIPC (int sockfd, const struct msghdr *msg, int flags)
 Send a message on a RTIPC socket. More...
 
ssize_t recvmsg__AF_RTIPC (int sockfd, struct msghdr *msg, int flags)
 Receive a message from a RTIPC socket. More...
 
int getsockname__AF_RTIPC (int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen)
 Get socket name. More...
 
int getpeername__AF_RTIPC (int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen)
 Get socket peer. More...
 

Detailed Description

This file is part of the Xenomai project.

Note
Copyright (C) 2009 Philippe Gerum rpm@x.nosp@m.enom.nosp@m.ai.or.nosp@m.g

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.