OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [char/] [rio/] [pkt.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/****************************************************************************
2
 *******                                                              *******
3
 *******            P A C K E T   H E A D E R   F I L E
4
 *******                                                              *******
5
 ****************************************************************************
6
 
7
 Author  : Ian Nandhra / Jeremy Rolls
8
 Date    :
9
 
10
 *
11
 *  (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
12
 *
13
 *      This program is free software; you can redistribute it and/or modify
14
 *      it under the terms of the GNU General Public License as published by
15
 *      the Free Software Foundation; either version 2 of the License, or
16
 *      (at your option) any later version.
17
 *
18
 *      This program is distributed in the hope that it will be useful,
19
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
20
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21
 *      GNU General Public License for more details.
22
 *
23
 *      You should have received a copy of the GNU General Public License
24
 *      along with this program; if not, write to the Free Software
25
 *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26
 
27
 Version : 0.01
28
 
29
 
30
                            Mods
31
 ----------------------------------------------------------------------------
32
  Date     By                Description
33
 ----------------------------------------------------------------------------
34
 
35
 ***************************************************************************/
36
 
37
#ifndef _pkt_h
38
#define _pkt_h 1
39
 
40
 
41
#ifdef SCCS_LABELS
42
#ifndef lint
43
/* static char *_rio_pkt_h_sccs = "@(#)pkt.h    1.8"; */
44
#endif
45
#endif
46
 
47
#define MAX_TTL         0xf
48
#define PKT_CMD_BIT     ((ushort) 0x080)
49
#define PKT_CMD_DATA    ((ushort) 0x080)
50
 
51
#define PKT_ACK         ((ushort) 0x040)
52
 
53
#define PKT_TGL         ((ushort) 0x020)
54
 
55
#define PKT_LEN_MASK    ((ushort) 0x07f)
56
 
57
#define DATA_WNDW       ((ushort) 0x10)
58
#define PKT_TTL_MASK    ((ushort) 0x0f)
59
 
60
#define PKT_MAX_DATA_LEN   72
61
 
62
#define PKT_LENGTH         sizeof(struct PKT)
63
#define SYNC_PKT_LENGTH    (PKT_LENGTH + 4)
64
 
65
#define CONTROL_PKT_LEN_MASK PKT_LEN_MASK
66
#define CONTROL_PKT_CMD_BIT  PKT_CMD_BIT
67
#define CONTROL_PKT_ACK (PKT_ACK << 8)
68
#define CONTROL_PKT_TGL (PKT_TGL << 8)
69
#define CONTROL_PKT_TTL_MASK (PKT_TTL_MASK << 8)
70
#define CONTROL_DATA_WNDW  (DATA_WNDW << 8)
71
 
72
struct PKT    {
73
#ifdef INKERNEL
74
                   BYTE    dest_unit ;    /* Destination Unit Id */
75
                   BYTE    dest_port ;    /* Destination POrt */
76
                   BYTE    src_unit ;     /* Source Unit Id */
77
                   BYTE    src_port ;     /* Source POrt */
78
#else
79
                   union
80
                   {
81
                       ushort destination;         /* Complete destination */
82
                       struct
83
                       {
84
                           unsigned char unit;     /* Destination unit */
85
                           unsigned char port;     /* Destination port */
86
                       } s1;
87
                   } u1;
88
                   union
89
                   {
90
                       ushort source;              /* Complete source */
91
                       struct
92
                       {
93
                           unsigned char unit;     /* Source unit */
94
                           unsigned char port;     /* Source port */
95
                       } s2;
96
                   } u2;
97
#endif
98
#ifdef INKERNEL
99
                   BYTE len ;
100
                   BYTE control;
101
#else
102
                   union
103
                   {
104
                        ushort      control;
105
                        struct
106
                        {
107
                            unsigned char len;
108
                            unsigned char control;
109
                        } s3;
110
                    } u3;
111
#endif
112
                   BYTE    data[PKT_MAX_DATA_LEN] ;
113
                                                   /* Actual data :-) */
114
                   WORD  csum ;                  /* C-SUM */
115
               } ;
116
#endif
117
 
118
/*********** end of file ***********/
119
 
120
 

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.