20 #ifndef _RTDM_INTERNAL_H
21 #define _RTDM_INTERNAL_H
27 #include <linux/list.h>
28 #include <linux/sem.h>
30 #ifndef CONFIG_XENO_OPT_DEBUG_RTDM_APPL
31 #define CONFIG_XENO_OPT_DEBUG_RTDM_APPL 0
34 #define RTDM_FD_MAX CONFIG_XENO_OPT_RTDM_FILDES
36 #define DEF_DEVNAME_HASHTAB_SIZE 256
37 #define DEF_PROTO_HASHTAB_SIZE 256
44 #ifdef CONFIG_XENO_OPT_VFILE
52 DECLARE_EXTERN_XNLOCK(rt_fildes_lock);
53 DECLARE_EXTERN_XNLOCK(rt_dev_lock);
55 extern int __rtdm_muxid;
56 extern struct rtdm_fildes fildes_table[];
57 extern int open_fildes;
58 extern struct semaphore nrt_dev_lock;
59 extern unsigned int devname_hashtab_size;
60 extern unsigned int protocol_hashtab_size;
61 extern struct list_head *rtdm_named_devices;
62 extern struct list_head *rtdm_protocol_devices;
65 #define rtdm_initialised 1
67 extern int rtdm_initialised;
70 void cleanup_owned_contexts(
void *user_info);
71 int rtdm_no_support(
void);
72 struct rtdm_device *get_named_device(
const char *name);
75 static inline void rtdm_dereference_device(
struct rtdm_device *device)
77 atomic_dec(&device->
reserved.refcount);
80 int __init rtdm_dev_init(
void);
81 void rtdm_dev_cleanup(
void);
83 #ifdef CONFIG_XENO_OPT_VFILE
84 int rtdm_proc_init(
void);
85 void rtdm_proc_cleanup(
void);
86 int rtdm_proc_register_device(
struct rtdm_device *device);
87 void rtdm_proc_unregister_device(
struct rtdm_device *device);
89 static inline int rtdm_proc_init(
void)
93 void rtdm_proc_cleanup(
void)
96 static int rtdm_proc_register_device(
struct rtdm_device *device)
100 static void rtdm_proc_unregister_device(
struct rtdm_device *device)
105 void rtdm_apc_handler(
void *cookie);
int socket_type
Protocol device identification: socket type (SOCK_xxx)
Definition: rtdm_driver.h:478
Real-time pod interface header.
struct rtdm_dev_reserved reserved
Data stored by RTDM inside a registered device (internal use only)
Definition: rtdm_driver.h:533
Device context.
Definition: rtdm_driver.h:397
Real-Time Driver Model for Xenomai, driver API header.
RTDM device.
Definition: rtdm_driver.h:462
int protocol_family
Protocol device identification: protocol family (PF_xxx)
Definition: rtdm_driver.h:476