27 #ifndef __RTNET_SOCKET_H_ 28 #define __RTNET_SOCKET_H_ 30 #include <asm/atomic.h> 31 #include <linux/list.h> 36 #include <stack_mgr.h> 42 unsigned short protocol;
44 struct rtskb_pool skb_pool;
45 unsigned int pool_size;
46 struct mutex pool_nrt_lock;
48 struct rtskb_queue incoming;
52 unsigned int priority;
55 rtdm_sem_t pending_sem;
57 void (*callback_func)(
struct rtdm_fd *,
void *arg);
77 struct rtpacket_type packet_type;
86 static inline struct rtdm_fd *rt_socket_fd(
struct rtsocket *sock)
91 void *rtnet_get_arg(
struct rtdm_fd *fd,
void *tmp,
92 const void *src,
size_t len);
94 int rtnet_put_arg(
struct rtdm_fd *fd,
void *dst,
95 const void *src,
size_t len);
97 #define rt_socket_reference(sock) \ 98 rtdm_fd_lock(rt_socket_fd(sock)) 99 #define rt_socket_dereference(sock) \ 100 rtdm_fd_unlock(rt_socket_fd(sock)) 102 int __rt_socket_init(
struct rtdm_fd *fd,
unsigned short protocol,
103 struct module *module);
104 #define rt_socket_init(fd, proto) \ 105 __rt_socket_init(fd, proto, THIS_MODULE) 107 void rt_socket_cleanup(
struct rtdm_fd *fd);
108 int rt_socket_common_ioctl(
struct rtdm_fd *fd,
int request,
void __user *arg);
109 int rt_socket_if_ioctl(
struct rtdm_fd *fd,
int request,
void __user *arg);
110 int rt_socket_select_bind(
struct rtdm_fd *fd,
111 rtdm_selector_t *selector,
115 int __rt_bare_socket_init(
struct rtdm_fd *fd,
unsigned short protocol,
116 unsigned int priority,
unsigned int pool_size,
117 struct module *module);
118 #define rt_bare_socket_init(fd, proto, prio, pool_sz) \ 119 __rt_bare_socket_init(fd, proto, prio, pool_sz, THIS_MODULE) 121 static inline void rt_bare_socket_cleanup(
struct rtsocket *sock)
123 rtskb_pool_release(&sock->skb_pool);
124 module_put(sock->owner);
ipipe_spinlock_t rtdm_lock_t
Lock variable.
Definition: driver.h:551
int64_t nanosecs_rel_t
RTDM type for representing relative intervals.
Definition: rtdm.h:49
Real-Time Driver Model for Xenomai, driver API header.
rtdm_selecttype
Definition: driver.h:111
static struct rtdm_fd * rtdm_private_to_fd(void *dev_private)
Locate a device file descriptor structure from its driver private area.
Definition: driver.h:174