Xenomai 3.3.2
Loading...
Searching...
No Matches
ipc.h
Go to the documentation of this file.
1
22#ifndef _RTDM_UAPI_IPC_H
23#define _RTDM_UAPI_IPC_H
24
68#ifdef DOXYGEN_CPP
69int socket__AF_RTIPC(int domain =AF_RTIPC, int type =SOCK_DGRAM, int protocol);
70#endif
71
88#ifdef DOXYGEN_CPP
89int close__AF_RTIPC(int sockfd);
90#endif
91
183#ifdef DOXYGEN_CPP
184int bind__AF_RTIPC(int sockfd, const struct sockaddr_ipc *addr,
185 socklen_t addrlen);
186#endif
187
222#ifdef DOXYGEN_CPP
223int connect__AF_RTIPC(int sockfd, const struct sockaddr_ipc *addr,
224 socklen_t addrlen);
225#endif
226
247#ifdef DOXYGEN_CPP
248int setsockopt__AF_RTIPC(int sockfd, int level, int optname,
249 const void *optval, socklen_t optlen);
250#endif
271#ifdef DOXYGEN_CPP
272int getsockopt__AF_RTIPC(int sockfd, int level, int optname,
273 void *optval, socklen_t *optlen);
274#endif
275
317#ifdef DOXYGEN_CPP
318ssize_t sendmsg__AF_RTIPC(int sockfd, const struct msghdr *msg, int flags);
319#endif
320
352#ifdef DOXYGEN_CPP
353ssize_t recvmsg__AF_RTIPC(int sockfd, struct msghdr *msg, int flags);
354#endif
355
369#ifdef DOXYGEN_CPP
370int getsockname__AF_RTIPC(int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen);
371#endif
372
390#ifdef DOXYGEN_CPP
391int getpeername__AF_RTIPC(int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen);
392#endif
393
396#include <cobalt/uapi/kernel/types.h>
397#include <cobalt/uapi/kernel/pipe.h>
398#include <rtdm/rtdm.h>
399
400/* Address family */
401#define AF_RTIPC 111
402
403/* Protocol family */
404#define PF_RTIPC AF_RTIPC
405
411enum {
460 IPCPROTO_MAX
461};
467typedef int16_t rtipc_port_t;
468
474 char label[XNOBJECT_NAME_LEN];
475};
476
486
487#define SOL_XDDP 311
523#define XDDP_LABEL 1
557#define XDDP_POOLSZ 2
611#define XDDP_BUFSZ 3
650#define XDDP_MONITOR 4
667#define XDDP_EVTIN 1
675#define XDDP_EVTOUT 2
682#define XDDP_EVTDOWN 3
695#define XDDP_EVTNOBUF 4
698#define SOL_IDDP 312
733#define IDDP_LABEL 1
767#define IDDP_POOLSZ 2
770#define SOL_BUFP 313
805#define BUFP_LABEL 1
836#define BUFP_BUFSZ 2
851#ifdef DOXYGEN_CPP
852#define SO_SNDTIMEO defined_by_kernel_header_file
853#endif
862#ifdef DOXYGEN_CPP
863#define SO_RCVTIMEO defined_by_kernel_header_file
864#endif
881#endif /* !_RTDM_UAPI_IPC_H */
int getsockopt__AF_RTIPC(int sockfd, int level, int optname, void *optval, socklen_t *optlen)
Get options on RTIPC sockets.
int close__AF_RTIPC(int sockfd)
Close a RTIPC socket descriptor.
int connect__AF_RTIPC(int sockfd, const struct sockaddr_ipc *addr, socklen_t addrlen)
Initiate a connection on a RTIPC socket.
int getpeername__AF_RTIPC(int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen)
Get socket peer.
ssize_t recvmsg__AF_RTIPC(int sockfd, struct msghdr *msg, int flags)
Receive a message from a RTIPC socket.
int bind__AF_RTIPC(int sockfd, const struct sockaddr_ipc *addr, socklen_t addrlen)
Bind a RTIPC socket to a port.
int socket__AF_RTIPC(int domain=AF_RTIPC, int type=SOCK_DGRAM, int protocol)
Create an endpoint for communication in the AF_RTIPC domain.
ssize_t sendmsg__AF_RTIPC(int sockfd, const struct msghdr *msg, int flags)
Send a message on a RTIPC socket.
int16_t rtipc_port_t
Port number type for the RTIPC address family.
Definition ipc.h:467
int getsockname__AF_RTIPC(int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen)
Get socket name.
int setsockopt__AF_RTIPC(int sockfd, int level, int optname, const void *optval, socklen_t optlen)
Set options on RTIPC sockets.
@ IPCPROTO_XDDP
Cross-domain datagram protocol (RT <-> non-RT).
Definition ipc.h:439
@ IPCPROTO_IDDP
Intra-domain datagram protocol (RT <-> RT).
Definition ipc.h:446
@ IPCPROTO_IPC
Default protocol (IDDP)
Definition ipc.h:413
@ IPCPROTO_BUFP
Buffer protocol (RT <-> RT, byte-oriented).
Definition ipc.h:459
Port label information structure.
Definition ipc.h:472
char label[XNOBJECT_NAME_LEN]
Port label string, null-terminated.
Definition ipc.h:474
Socket address structure for the RTIPC address family.
Definition ipc.h:480
rtipc_port_t sipc_port
Port number.
Definition ipc.h:484
sa_family_t sipc_family
RTIPC address family, must be AF_RTIPC.
Definition ipc.h:482