aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/linux-headers/linux/n_r3964.h
blob: 25bc1e726b90d26473bb7eb87361458ca4c91e7b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */ 
/* r3964 linediscipline for linux 
 * 
 * ----------------------------------------------------------- 
 * Copyright by 
 * Philips Automation Projects 
 * Kassel (Germany) 
 * ----------------------------------------------------------- 
 * This software may be used and distributed according to the terms of 
 * the GNU General Public License, incorporated herein by reference. 
 * 
 * Author: 
 * L. Haag 
 * 
 * $Log: r3964.h,v $ 
 * Revision 1.4  2005/12/21 19:54:24  Kurt Huwig <kurt huwig de> 
 * Fixed HZ usage on 2.6 kernels 
 * Removed unnecessary include 
 * 
 * Revision 1.3  2001/03/18 13:02:24  dwmw2 
 * Fix timer usage, use spinlocks properly. 
 * 
 * Revision 1.2  2001/03/18 12:53:15  dwmw2 
 * Merge changes in 2.4.2 
 * 
 * Revision 1.1.1.1  1998/10/13 16:43:14  dwmw2 
 * This'll screw the version control 
 * 
 * Revision 1.6  1998/09/30 00:40:38  dwmw2 
 * Updated to use kernel's N_R3964 if available 
 * 
 * Revision 1.4  1998/04/02 20:29:44  lhaag 
 * select, blocking, ... 
 * 
 * Revision 1.3  1998/02/12 18:58:43  root 
 * fixed some memory leaks 
 * calculation of checksum characters 
 * 
 * Revision 1.2  1998/02/07 13:03:17  root 
 * ioctl read_telegram 
 * 
 * Revision 1.1  1998/02/06 19:19:43  root 
 * Initial revision 
 * 
 * 
 */ 
 
#ifndef __LINUX_N_R3964_H__ 
#define __LINUX_N_R3964_H__ 
 
/* line disciplines for r3964 protocol */ 
 
 
/* 
 * Ioctl-commands 
 */ 
 
#define R3964_ENABLE_SIGNALS      0x5301 
#define R3964_SETPRIORITY         0x5302 
#define R3964_USE_BCC             0x5303 
#define R3964_READ_TELEGRAM       0x5304 
 
/* Options for R3964_SETPRIORITY */ 
#define R3964_MASTER   0 
#define R3964_SLAVE    1 
 
/* Options for R3964_ENABLE_SIGNALS */ 
#define R3964_SIG_ACK   0x0001 
#define R3964_SIG_DATA  0x0002 
#define R3964_SIG_ALL   0x000f 
#define R3964_SIG_NONE  0x0000 
#define R3964_USE_SIGIO 0x1000 
 
/* 
 * r3964 operation states: 
 */ 
 
/* types for msg_id: */ 
enum {R3964_MSG_ACK=1, R3964_MSG_DATA }; 
 
#define R3964_MAX_MSG_COUNT 32 
 
/* error codes for client messages */ 
#define R3964_OK 0        /* no error. */ 
#define R3964_TX_FAIL -1  /* transmission error, block NOT sent */ 
#define R3964_OVERFLOW -2 /* msg queue overflow */ 
 
/* the client gets this struct when calling read(fd,...): */ 
struct r3964_client_message { 
	  int     msg_id; 
	  int     arg; 
	  int     error_code; 
}; 
 
#define R3964_MTU      256 
 
 
 
#endif /* __LINUX_N_R3964_H__ */