1
2
3
4
5
6
7
8
9
10 #if !defined(_IO_EDGEPORT_H_)
11 #define _IO_EDGEPORT_H_
12
13
14 #define MAX_RS232_PORTS 8
15
16
17 #ifndef LOW8
18 #define LOW8(a) ((unsigned char)(a & 0xff))
19 #endif
20 #ifndef HIGH8
21 #define HIGH8(a) ((unsigned char)((a & 0xff00) >> 8))
22 #endif
23
24 #ifndef __KERNEL__
25 #define __KERNEL__
26 #endif
27
28 #include "io_usbvend.h"
29
30
31
32
33
34 #define MAX_EDGEPORTS 64
35
36 struct comMapper {
37 char SerialNumber[MAX_SERIALNUMBER_LEN+1];
38 int numPorts;
39 int Original[MAX_RS232_PORTS];
40 int Port[MAX_RS232_PORTS];
41 };
42
43
44 #define EDGEPORT_CONFIG_DEVICE "/proc/edgeport"
45
46
47
48
49 #define PROC_GET_MAPPING_TO_PATH 1
50 #define PROC_GET_COM_ENTRY 2
51 #define PROC_GET_EDGE_MANUF_DESCRIPTOR 3
52 #define PROC_GET_BOOT_DESCRIPTOR 4
53 #define PROC_GET_PRODUCT_INFO 5
54 #define PROC_GET_STRINGS 6
55 #define PROC_GET_CURRENT_COM_MAPPING 7
56
57
58 #define PROC_READ_SETUP(Command, Argument) ((Command) + ((Argument)<<8))
59
60
61
62 #define PROC_SET_COM_MAPPING 1
63 #define PROC_SET_COM_ENTRY 2
64
65
66
67 struct procWrite {
68 int Command;
69 union {
70 struct comMapper Entry;
71 int ComMappingBasedOnUSBPort;
72 } u;
73 };
74
75
76
77
78 struct edgeport_product_info {
79 __u16 ProductId;
80 __u8 NumPorts;
81 __u8 ProdInfoVer;
82
83 __u32 IsServer :1;
84 __u32 IsRS232 :1;
85 __u32 IsRS422 :1;
86 __u32 IsRS485 :1;
87 __u32 IsReserved :28;
88
89 __u8 RomSize;
90 __u8 RamSize;
91 __u8 CpuRev;
92 __u8 BoardRev;
93
94 __u8 BootMajorVersion;
95 __u8 BootMinorVersion;
96 __le16 BootBuildNumber;
97
98 __u8 FirmwareMajorVersion;
99 __u8 FirmwareMinorVersion;
100 __le16 FirmwareBuildNumber;
101
102 __u8 ManufactureDescDate[3];
103 __u8 HardwareType;
104
105 __u8 iDownloadFile;
106 __u8 EpicVer;
107
108 struct edge_compatibility_bits Epic;
109 };
110
111
112
113
114 #define EDGESTRING_MANUFNAME 1
115 #define EDGESTRING_PRODNAME 2
116 #define EDGESTRING_SERIALNUM 3
117 #define EDGESTRING_ASSEMNUM 4
118 #define EDGESTRING_OEMASSEMNUM 5
119 #define EDGESTRING_MANUFDATE 6
120 #define EDGESTRING_ORIGSERIALNUM 7
121
122 struct string_block {
123 __u16 NumStrings;
124 __u16 Strings[1];
125 };
126
127
128
129 #endif