Xenomai  3.1
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
69 int socket__AF_RTIPC(int domain =AF_RTIPC, int type =SOCK_DGRAM, int protocol);
70 #endif
71 
88 #ifdef DOXYGEN_CPP
89 int close__AF_RTIPC(int sockfd);
90 #endif
91 
183 #ifdef DOXYGEN_CPP
184 int bind__AF_RTIPC(int sockfd, const struct sockaddr_ipc *addr,
185  socklen_t addrlen);
186 #endif
187 
222 #ifdef DOXYGEN_CPP
223 int connect__AF_RTIPC(int sockfd, const struct sockaddr_ipc *addr,
224  socklen_t addrlen);
225 #endif
226 
247 #ifdef DOXYGEN_CPP
248 int setsockopt__AF_RTIPC(int sockfd, int level, int optname,
249  const void *optval, socklen_t optlen);
250 #endif
251 
271 #ifdef DOXYGEN_CPP
272 int getsockopt__AF_RTIPC(int sockfd, int level, int optname,
273  void *optval, socklen_t *optlen);
274 #endif
275 
317 #ifdef DOXYGEN_CPP
318 ssize_t sendmsg__AF_RTIPC(int sockfd, const struct msghdr *msg, int flags);
319 #endif
320 
352 #ifdef DOXYGEN_CPP
353 ssize_t recvmsg__AF_RTIPC(int sockfd, struct msghdr *msg, int flags);
354 #endif
355 
369 #ifdef DOXYGEN_CPP
370 int getsockname__AF_RTIPC(int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen);
371 #endif
372 
390 #ifdef DOXYGEN_CPP
391 int 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 
411 enum {
460  IPCPROTO_MAX
461 };
467 typedef int16_t rtipc_port_t;
468 
474  char label[XNOBJECT_NAME_LEN];
475 };
476 
480 struct sockaddr_ipc {
482  sa_family_t sipc_family;
485 };
486 
487 #define SOL_XDDP 311
488 
523 #define XDDP_LABEL 1
524 
557 #define XDDP_POOLSZ 2
558 
611 #define XDDP_BUFSZ 3
612 
650 #define XDDP_MONITOR 4
651 
667 #define XDDP_EVTIN 1
668 
675 #define XDDP_EVTOUT 2
676 
682 #define XDDP_EVTDOWN 3
683 
695 #define XDDP_EVTNOBUF 4
696 
698 #define SOL_IDDP 312
699 
733 #define IDDP_LABEL 1
734 
767 #define IDDP_POOLSZ 2
768 
770 #define SOL_BUFP 313
771 
805 #define BUFP_LABEL 1
806 
836 #define BUFP_BUFSZ 2
837 
851 #ifdef DOXYGEN_CPP
852 #define SO_SNDTIMEO defined_by_kernel_header_file
853 #endif
854 
862 #ifdef DOXYGEN_CPP
863 #define SO_RCVTIMEO defined_by_kernel_header_file
864 #endif
865 
881 #endif /* !_RTDM_UAPI_IPC_H */
int setsockopt__AF_RTIPC(int sockfd, int level, int optname, const void *optval, socklen_t optlen)
Set options on RTIPC sockets.
Socket address structure for the RTIPC address family.
Definition: ipc.h:480
int16_t rtipc_port_t
Port number type for the RTIPC address family.
Definition: ipc.h:467
ssize_t sendmsg__AF_RTIPC(int sockfd, const struct msghdr *msg, int flags)
Send a message on a RTIPC socket.
Cross-domain datagram protocol (RT <-> non-RT).
Definition: ipc.h:439
rtipc_port_t sipc_port
Port number.
Definition: ipc.h:484
int close__AF_RTIPC(int sockfd)
Close a RTIPC socket descriptor.
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 recvmsg__AF_RTIPC(int sockfd, struct msghdr *msg, int flags)
Receive a message from a RTIPC socket.
int getpeername__AF_RTIPC(int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen)
Get socket peer.
char label[XNOBJECT_NAME_LEN]
Port label string, null-terminated.
Definition: ipc.h:474
int getsockopt__AF_RTIPC(int sockfd, int level, int optname, void *optval, socklen_t *optlen)
Get options on RTIPC sockets.
int connect__AF_RTIPC(int sockfd, const struct sockaddr_ipc *addr, socklen_t addrlen)
Initiate a connection on a RTIPC socket.
Port label information structure.
Definition: ipc.h:472
Intra-domain datagram protocol (RT <-> RT).
Definition: ipc.h:446
Default protocol (IDDP)
Definition: ipc.h:413
Buffer protocol (RT <-> RT, byte-oriented).
Definition: ipc.h:459
sa_family_t sipc_family
RTIPC address family, must be AF_RTIPC.
Definition: ipc.h:482
int getsockname__AF_RTIPC(int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen)
Get socket name.
int bind__AF_RTIPC(int sockfd, const struct sockaddr_ipc *addr, socklen_t addrlen)
Bind a RTIPC socket to a port.