]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /***************************************************************************** |
2 | * sdlasfm.h WANPIPE(tm) Multiprotocol WAN Link Driver. | |
3 | * Definitions for the SDLA Firmware Module (SFM). | |
4 | * | |
5 | * Author: Gideon Hack | |
6 | * | |
7 | * Copyright: (c) 1995-1999 Sangoma Technologies Inc. | |
8 | * | |
9 | * This program is free software; you can redistribute it and/or | |
10 | * modify it under the terms of the GNU General Public License | |
11 | * as published by the Free Software Foundation; either version | |
12 | * 2 of the License, or (at your option) any later version. | |
13 | * ============================================================================ | |
14 | * Jun 02, 1999 Gideon Hack Added support for the S514 adapter. | |
15 | * Dec 11, 1996 Gene Kozin Cosmetic changes | |
16 | * Apr 16, 1996 Gene Kozin Changed adapter & firmware IDs. Version 2 | |
17 | * Dec 15, 1995 Gene Kozin Structures chaned | |
18 | * Nov 09, 1995 Gene Kozin Initial version. | |
19 | *****************************************************************************/ | |
20 | #ifndef _SDLASFM_H | |
21 | #define _SDLASFM_H | |
22 | ||
23 | /****** Defines *************************************************************/ | |
24 | ||
25 | #define SFM_VERSION 2 | |
26 | #define SFM_SIGNATURE "SFM - Sangoma SDLA Firmware Module" | |
27 | ||
28 | /* min/max */ | |
29 | #define SFM_IMAGE_SIZE 0x8000 /* max size of SDLA code image file */ | |
30 | #define SFM_DESCR_LEN 256 /* max length of description string */ | |
31 | #define SFM_MAX_SDLA 16 /* max number of compatible adapters */ | |
32 | ||
33 | /* Adapter types */ | |
34 | #define SDLA_S502A 5020 | |
35 | #define SDLA_S502E 5021 | |
36 | #define SDLA_S503 5030 | |
37 | #define SDLA_S508 5080 | |
38 | #define SDLA_S507 5070 | |
39 | #define SDLA_S509 5090 | |
40 | #define SDLA_S514 5140 | |
41 | ||
42 | /* S514 PCI adapter CPU numbers */ | |
43 | #define S514_CPU_A 'A' | |
44 | #define S514_CPU_B 'B' | |
45 | ||
46 | ||
47 | /* Firmware identification numbers: | |
48 | * 0 .. 999 Test & Diagnostics | |
49 | * 1000 .. 1999 Streaming HDLC | |
50 | * 2000 .. 2999 Bisync | |
51 | * 3000 .. 3999 SDLC | |
52 | * 4000 .. 4999 HDLC | |
53 | * 5000 .. 5999 X.25 | |
54 | * 6000 .. 6999 Frame Relay | |
55 | * 7000 .. 7999 PPP | |
56 | * 8000 .. 8999 Cisco HDLC | |
57 | */ | |
58 | #define SFID_CALIB502 200 | |
59 | #define SFID_STRM502 1200 | |
60 | #define SFID_STRM508 1800 | |
61 | #define SFID_BSC502 2200 | |
62 | #define SFID_SDLC502 3200 | |
63 | #define SFID_HDLC502 4200 | |
64 | #define SFID_HDLC508 4800 | |
65 | #define SFID_X25_502 5200 | |
66 | #define SFID_X25_508 5800 | |
67 | #define SFID_FR502 6200 | |
68 | #define SFID_FR508 6800 | |
69 | #define SFID_PPP502 7200 | |
70 | #define SFID_PPP508 7800 | |
71 | #define SFID_PPP514 7140 | |
72 | #define SFID_CHDLC508 8800 | |
73 | #define SFID_CHDLC514 8140 | |
74 | ||
75 | /****** Data Types **********************************************************/ | |
76 | ||
77 | typedef struct sfm_info /* firmware module information */ | |
78 | { | |
79 | unsigned short codeid; /* firmware ID */ | |
80 | unsigned short version; /* firmaware version number */ | |
81 | unsigned short adapter[SFM_MAX_SDLA]; /* compatible adapter types */ | |
82 | unsigned long memsize; /* minimum memory size */ | |
83 | unsigned short reserved[2]; /* reserved */ | |
84 | unsigned short startoffs; /* entry point offset */ | |
85 | unsigned short winoffs; /* dual-port memory window offset */ | |
86 | unsigned short codeoffs; /* code load offset */ | |
87 | unsigned short codesize; /* code size */ | |
88 | unsigned short dataoffs; /* configuration data load offset */ | |
89 | unsigned short datasize; /* configuration data size */ | |
90 | } sfm_info_t; | |
91 | ||
92 | typedef struct sfm /* SDLA firmware file structire */ | |
93 | { | |
94 | char signature[80]; /* SFM file signature */ | |
95 | unsigned short version; /* file format version */ | |
96 | unsigned short checksum; /* info + image */ | |
97 | unsigned short reserved[6]; /* reserved */ | |
98 | char descr[SFM_DESCR_LEN]; /* description string */ | |
99 | sfm_info_t info; /* firmware module info */ | |
100 | unsigned char image[1]; /* code image (variable size) */ | |
101 | } sfm_t; | |
102 | ||
103 | #endif /* _SDLASFM_H */ | |
104 |