xref: /OK3568_Linux_fs/kernel/drivers/net/appletalk/ltpc.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /***   ltpc.h
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  ***/
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #define LT_GETRESULT  0x00
8*4882a593Smuzhiyun #define LT_WRITEMEM   0x01
9*4882a593Smuzhiyun #define LT_READMEM    0x02
10*4882a593Smuzhiyun #define LT_GETFLAGS   0x04
11*4882a593Smuzhiyun #define LT_SETFLAGS   0x05
12*4882a593Smuzhiyun #define LT_INIT       0x10
13*4882a593Smuzhiyun #define LT_SENDLAP    0x13
14*4882a593Smuzhiyun #define LT_RCVLAP     0x14
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun /* the flag that we care about */
17*4882a593Smuzhiyun #define LT_FLAG_ALLLAP 0x04
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun struct lt_getresult {
20*4882a593Smuzhiyun 	unsigned char command;
21*4882a593Smuzhiyun 	unsigned char mailbox;
22*4882a593Smuzhiyun };
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun struct lt_mem {
25*4882a593Smuzhiyun 	unsigned char command;
26*4882a593Smuzhiyun 	unsigned char mailbox;
27*4882a593Smuzhiyun 	unsigned short addr;	/* host order */
28*4882a593Smuzhiyun 	unsigned short length;	/* host order */
29*4882a593Smuzhiyun };
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun struct lt_setflags {
32*4882a593Smuzhiyun 	unsigned char command;
33*4882a593Smuzhiyun 	unsigned char mailbox;
34*4882a593Smuzhiyun 	unsigned char flags;
35*4882a593Smuzhiyun };
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun struct lt_getflags {
38*4882a593Smuzhiyun 	unsigned char command;
39*4882a593Smuzhiyun 	unsigned char mailbox;
40*4882a593Smuzhiyun };
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun struct lt_init {
43*4882a593Smuzhiyun 	unsigned char command;
44*4882a593Smuzhiyun 	unsigned char mailbox;
45*4882a593Smuzhiyun 	unsigned char hint;
46*4882a593Smuzhiyun };
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun struct lt_sendlap {
49*4882a593Smuzhiyun 	unsigned char command;
50*4882a593Smuzhiyun 	unsigned char mailbox;
51*4882a593Smuzhiyun 	unsigned char dnode;
52*4882a593Smuzhiyun 	unsigned char laptype;
53*4882a593Smuzhiyun 	unsigned short length;	/* host order */
54*4882a593Smuzhiyun };
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun struct lt_rcvlap {
57*4882a593Smuzhiyun 	unsigned char command;
58*4882a593Smuzhiyun 	unsigned char dnode;
59*4882a593Smuzhiyun 	unsigned char snode;
60*4882a593Smuzhiyun 	unsigned char laptype;
61*4882a593Smuzhiyun 	unsigned short length;	/* host order */
62*4882a593Smuzhiyun };
63*4882a593Smuzhiyun 
64*4882a593Smuzhiyun union lt_command {
65*4882a593Smuzhiyun 	struct lt_getresult getresult;
66*4882a593Smuzhiyun 	struct lt_mem mem;
67*4882a593Smuzhiyun 	struct lt_setflags setflags;
68*4882a593Smuzhiyun 	struct lt_getflags getflags;
69*4882a593Smuzhiyun 	struct lt_init init;
70*4882a593Smuzhiyun 	struct lt_sendlap sendlap;
71*4882a593Smuzhiyun 	struct lt_rcvlap rcvlap;
72*4882a593Smuzhiyun };
73*4882a593Smuzhiyun typedef union lt_command lt_command;
74*4882a593Smuzhiyun 
75