irda: irnet: add member name to the miscdevice declaration
[linux-2.6-block.git] / net / irda / irnet / irnet_ppp.h
CommitLineData
1da177e4
LT
1/*
2 * IrNET protocol module : Synchronous PPP over an IrDA socket.
3 *
4 * Jean II - HPL `00 - <jt@hpl.hp.com>
5 *
6 * This file contains all definitions and declarations necessary for the
7 * PPP part of the IrNET module.
8 * This file is a private header, so other modules don't want to know
9 * what's in there...
10 */
11
12#ifndef IRNET_PPP_H
13#define IRNET_PPP_H
14
15/***************************** INCLUDES *****************************/
16
17#include "irnet.h" /* Module global include */
e2928235 18#include <linux/miscdevice.h>
1da177e4
LT
19
20/************************ CONSTANTS & MACROS ************************/
21
1da177e4
LT
22/* IrNET control channel stuff */
23#define IRNET_MAX_COMMAND 256 /* Max length of a command line */
24
25/* PPP hardcore stuff */
26
27/* Bits in rbits (PPP flags in irnet struct) */
28#define SC_RCV_BITS (SC_RCV_B7_1|SC_RCV_B7_0|SC_RCV_ODDP|SC_RCV_EVNP)
29
30/* Bit numbers in busy */
31#define XMIT_BUSY 0
32#define RECV_BUSY 1
33#define XMIT_WAKEUP 2
34#define XMIT_FULL 3
35
36/* Queue management */
37#define PPPSYNC_MAX_RQLEN 32 /* arbitrary */
38
39/****************************** TYPES ******************************/
40
41
42/**************************** PROTOTYPES ****************************/
43
44/* ----------------------- CONTROL CHANNEL ----------------------- */
45static inline ssize_t
46 irnet_ctrl_write(irnet_socket *,
47 const char *,
48 size_t);
49static inline ssize_t
50 irnet_ctrl_read(irnet_socket *,
51 struct file *,
52 char *,
53 size_t);
54static inline unsigned int
55 irnet_ctrl_poll(irnet_socket *,
56 struct file *,
57 poll_table *);
58/* ----------------------- CHARACTER DEVICE ----------------------- */
59static int
60 dev_irnet_open(struct inode *, /* fs callback : open */
61 struct file *),
62 dev_irnet_close(struct inode *,
63 struct file *);
64static ssize_t
65 dev_irnet_write(struct file *,
66 const char __user *,
67 size_t,
68 loff_t *),
69 dev_irnet_read(struct file *,
70 char __user *,
71 size_t,
72 loff_t *);
73static unsigned int
74 dev_irnet_poll(struct file *,
75 poll_table *);
54064600
AC
76static long
77 dev_irnet_ioctl(struct file *,
1da177e4
LT
78 unsigned int,
79 unsigned long);
80/* ------------------------ PPP INTERFACE ------------------------ */
81static inline struct sk_buff *
82 irnet_prepare_skb(irnet_socket *,
83 struct sk_buff *);
84static int
85 ppp_irnet_send(struct ppp_channel *,
86 struct sk_buff *);
87static int
88 ppp_irnet_ioctl(struct ppp_channel *,
89 unsigned int,
90 unsigned long);
91
92/**************************** VARIABLES ****************************/
93
94/* Filesystem callbacks (to call us) */
5ca1b998 95static const struct file_operations irnet_device_fops =
1da177e4
LT
96{
97 .owner = THIS_MODULE,
98 .read = dev_irnet_read,
99 .write = dev_irnet_write,
100 .poll = dev_irnet_poll,
54064600 101 .unlocked_ioctl = dev_irnet_ioctl,
1da177e4 102 .open = dev_irnet_open,
0a5f1d47
AB
103 .release = dev_irnet_close,
104 .llseek = noop_llseek,
1da177e4
LT
105 /* Also : llseek, readdir, mmap, flush, fsync, fasync, lock, readv, writev */
106};
107
108/* Structure so that the misc major (drivers/char/misc.c) take care of us... */
109static struct miscdevice irnet_misc_device =
110{
616f6b40
LC
111 .minor = IRNET_MINOR,
112 .name = "irnet",
113 .fops = &irnet_device_fops
1da177e4
LT
114};
115
116#endif /* IRNET_PPP_H */