[go: nahoru, domu]

197ce84de8c19823ab0377a7ffc7fa25a8caa6ab8Ian Abbott#ifndef _COMEDI_INTERNAL_H
297ce84de8c19823ab0377a7ffc7fa25a8caa6ab8Ian Abbott#define _COMEDI_INTERNAL_H
397ce84de8c19823ab0377a7ffc7fa25a8caa6ab8Ian Abbott
4f286766e4ba899043714471a0a2c9f1474d2ab5cIan Abbott#include <linux/types.h>
5f286766e4ba899043714471a0a2c9f1474d2ab5cIan Abbott
62434358ac7ece40e6aa8cd705927c423caa718ecGreg Kroah-Hartman/*
74d7df821277e82ebe2fc9c9af07c928a83f572b8Ian Abbott * various internal comedi stuff
82434358ac7ece40e6aa8cd705927c423caa718ecGreg Kroah-Hartman */
93b6b25b5ddf4485e89432a35a7d79d371ba6eba1Greg Kroah-Hartmanint do_rangeinfo_ioctl(struct comedi_device *dev,
103b6b25b5ddf4485e89432a35a7d79d371ba6eba1Greg Kroah-Hartman		       struct comedi_rangeinfo __user *arg);
117638ffcb50903d9ddbf605c7e9578d72658a960aIan Abbottstruct comedi_device *comedi_alloc_board_minor(struct device *hardware_device);
123346b798f202bf2f5b5272870ecdb75acec2e752Ian Abbottvoid comedi_release_hardware_device(struct device *hardware_device);
13f65cc5447eaea9f7be1ff54e27c9658a66c5910fIan Abbottint comedi_alloc_subdevice_minor(struct comedi_subdevice *s);
14e9ab1c2f7eb6bc5d885429381e773bc1a61646caIan Abbottvoid comedi_free_subdevice_minor(struct comedi_subdevice *s);
1561c9fb0eb08bc9b7164a6181b0062d9959406a34H Hartley Sweeten
167029a87455af3cf303e8d6d0db8c26b6a94f1020Greg Kroah-Hartmanint comedi_buf_alloc(struct comedi_device *dev, struct comedi_subdevice *s,
177029a87455af3cf303e8d6d0db8c26b6a94f1020Greg Kroah-Hartman		     unsigned long new_size);
18fcc18a9aa2c43765ba37012879936fbf142ba91cIan Abbottvoid comedi_buf_reset(struct comedi_subdevice *s);
19d4526ab4e03bb16beee03547bfcbc1d8e09707f1Ian Abbottbool comedi_buf_is_mmapped(struct comedi_subdevice *s);
20af93da31634d6d55c9d313b5c49af8b272f7cb79Ian Abbottvoid comedi_buf_map_get(struct comedi_buf_map *bm);
21af93da31634d6d55c9d313b5c49af8b272f7cb79Ian Abbottint comedi_buf_map_put(struct comedi_buf_map *bm);
22b34aa86f12e8848ba453215602c8c50fa63c4cb3Ian Abbottstruct comedi_buf_map *comedi_buf_map_from_subdev_get(
23b34aa86f12e8848ba453215602c8c50fa63c4cb3Ian Abbott		struct comedi_subdevice *s);
240f1f34e844a24187270315ffb539d4bd1900c333Ian Abbottunsigned int comedi_buf_write_n_allocated(struct comedi_subdevice *s);
25d19db51a0eeb659cd924a9d08b20a2ed4ee46b15Ian Abbottvoid comedi_device_cancel_all(struct comedi_device *dev);
264d7df821277e82ebe2fc9c9af07c928a83f572b8Ian Abbott
274d7df821277e82ebe2fc9c9af07c928a83f572b8Ian Abbottextern unsigned int comedi_default_buf_size_kb;
284d7df821277e82ebe2fc9c9af07c928a83f572b8Ian Abbottextern unsigned int comedi_default_buf_maxsize_kb;
2939bd5e59b1ebdaa58d9458923ab96f61bda1296cH Hartley Sweeten
3039bd5e59b1ebdaa58d9458923ab96f61bda1296cH Hartley Sweeten/* drivers.c */
3139bd5e59b1ebdaa58d9458923ab96f61bda1296cH Hartley Sweeten
32f286766e4ba899043714471a0a2c9f1474d2ab5cIan Abbottextern struct comedi_driver *comedi_drivers;
33c383e2d6dacf0b6fdd40fbaf044e235cac54a20fIan Abbottextern struct mutex comedi_drivers_list_lock;
3497ce84de8c19823ab0377a7ffc7fa25a8caa6ab8Ian Abbott
3539bd5e59b1ebdaa58d9458923ab96f61bda1296cH Hartley Sweetenint insn_inval(struct comedi_device *, struct comedi_subdevice *,
3639bd5e59b1ebdaa58d9458923ab96f61bda1296cH Hartley Sweeten	       struct comedi_insn *, unsigned int *);
3739bd5e59b1ebdaa58d9458923ab96f61bda1296cH Hartley Sweeten
3839bd5e59b1ebdaa58d9458923ab96f61bda1296cH Hartley Sweetenvoid comedi_device_detach(struct comedi_device *);
3939bd5e59b1ebdaa58d9458923ab96f61bda1296cH Hartley Sweetenint comedi_device_attach(struct comedi_device *, struct comedi_devconfig *);
4039bd5e59b1ebdaa58d9458923ab96f61bda1296cH Hartley Sweeten
41085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten#ifdef CONFIG_PROC_FS
42085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten
43085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten/* proc.c */
44085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten
45085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweetenvoid comedi_proc_init(void);
46085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweetenvoid comedi_proc_cleanup(void);
47085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten#else
48085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweetenstatic inline void comedi_proc_init(void)
49085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten{
50085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten}
51663dfc05053d826c2b319bda6c6864a1c005608dH Hartley Sweeten
52085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweetenstatic inline void comedi_proc_cleanup(void)
53085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten{
54085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten}
55085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten#endif
56085494ac2039433a5df9fdd6fb653579e18b8c71H Hartley Sweeten
5797ce84de8c19823ab0377a7ffc7fa25a8caa6ab8Ian Abbott#endif /* _COMEDI_INTERNAL_H */
58