Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 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 1 2 3 4 5 6


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


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/