Xenomai  3.0-rc7
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 
182 #ifdef DOXYGEN_CPP
183 int bind__AF_RTIPC(int sockfd, const struct sockaddr_ipc *addr,
184  socklen_t addrlen);
185 #endif
186 
221 #ifdef DOXYGEN_CPP
222 int connect__AF_RTIPC(int sockfd, const struct sockaddr_ipc *addr,
223  socklen_t addrlen);
224 #endif
225 
246 #ifdef DOXYGEN_CPP
247 int setsockopt__AF_RTIPC(int sockfd, int level, int optname,
248  const void *optval, socklen_t optlen);
249 #endif
250 
270 #ifdef DOXYGEN_CPP
271 int getsockopt__AF_RTIPC(int sockfd, int level, int optname,
272  void *optval, socklen_t *optlen);
273 #endif
274 
316 #ifdef DOXYGEN_CPP
317 ssize_t sendmsg__AF_RTIPC(int sockfd, const struct msghdr *msg, int flags);
318 #endif
319 
351 #ifdef DOXYGEN_CPP
352 ssize_t recvmsg__AF_RTIPC(int sockfd, struct msghdr *msg, int flags);
353 #endif
354 
368 #ifdef DOXYGEN_CPP
369 int getsockname__AF_RTIPC(int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen);
370 #endif
371 
389 #ifdef DOXYGEN_CPP
390 int getpeername__AF_RTIPC(int sockfd, struct sockaddr_ipc *addr, socklen_t *addrlen);
391 #endif
392 
395 #include <cobalt/uapi/kernel/types.h>
396 #include <cobalt/uapi/kernel/pipe.h>
397 #include <rtdm/rtdm.h>
398 
399 /* Address family */
400 #define AF_RTIPC 111
401 
402 /* Protocol family */
403 #define PF_RTIPC AF_RTIPC
404 
410 enum {
459  IPCPROTO_MAX
460 };
466 typedef int16_t rtipc_port_t;
467 
473  char label[XNOBJECT_NAME_LEN];
474 };
475 
479 struct sockaddr_ipc {
481  sa_family_t sipc_family;
484 };
485 
486 #define SOL_XDDP 311
487 
522 #define XDDP_LABEL 1
523 
556 #define XDDP_POOLSZ 2
557 
610 #define XDDP_BUFSZ 3
611 
649 #define XDDP_MONITOR 4
650 
666 #define XDDP_EVTIN 1
667 
674 #define XDDP_EVTOUT 2
675 
681 #define XDDP_EVTDOWN 3
682 
694 #define XDDP_EVTNOBUF 4
695 
697 #define SOL_IDDP 312
698 
732 #define IDDP_LABEL 1
733 
766 #define IDDP_POOLSZ 2
767 
769 #define SOL_BUFP 313
770 
804 #define BUFP_LABEL 1
805 
835 #define BUFP_BUFSZ 2
836 
850 #ifdef DOXYGEN_CPP
851 #define SO_SNDTIMEO defined_by_kernel_header_file
852 #endif
853 
861 #ifdef DOXYGEN_CPP
862 #define SO_RCVTIMEO defined_by_kernel_header_file
863 #endif
864 
880 #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:479
int16_t rtipc_port_t
Port number type for the RTIPC address family.
Definition: ipc.h:466
Default protocol (IDDP)
Definition: ipc.h:412
ssize_t sendmsg__AF_RTIPC(int sockfd, const struct msghdr *msg, int flags)
Send a message on a RTIPC socket.
rtipc_port_t sipc_port
Port number.
Definition: ipc.h:483
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:473
int getsockopt__AF_RTIPC(int sockfd, int level, int optname, void *optval, socklen_t *optlen)
Get options on RTIPC sockets.
Intra-domain datagram protocol (RT <-> RT).
Definition: ipc.h:445
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:471
Buffer protocol (RT <-> RT, byte-oriented).
Definition: ipc.h:458
sa_family_t sipc_family
RTIPC address family, must be AF_RTIPC.
Definition: ipc.h:481
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.
Cross-domain datagram protocol (RT <-> non-RT).
Definition: ipc.h:438