| /***************************************************************************** |
| * sdlasfm.h WANPIPE(tm) Multiprotocol WAN Link Driver. |
| * Definitions for the SDLA Firmware Module (SFM). |
| * |
| * Author: Gideon Hack |
| * |
| * Copyright: (c) 1995-1999 Sangoma Technologies Inc. |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * as published by the Free Software Foundation; either version |
| * 2 of the License, or (at your option) any later version. |
| * ============================================================================ |
| * Jun 02, 1999 Gideon Hack Added support for the S514 adapter. |
| * Dec 11, 1996 Gene Kozin Cosmetic changes |
| * Apr 16, 1996 Gene Kozin Changed adapter & firmware IDs. Version 2 |
| * Dec 15, 1995 Gene Kozin Structures chaned |
| * Nov 09, 1995 Gene Kozin Initial version. |
| *****************************************************************************/ |
| #ifndef _SDLASFM_H |
| #define _SDLASFM_H |
| |
| /****** Defines *************************************************************/ |
| |
| #define SFM_VERSION 2 |
| #define SFM_SIGNATURE "SFM - Sangoma SDLA Firmware Module" |
| |
| /* min/max */ |
| #define SFM_IMAGE_SIZE 0x8000 /* max size of SDLA code image file */ |
| #define SFM_DESCR_LEN 256 /* max length of description string */ |
| #define SFM_MAX_SDLA 16 /* max number of compatible adapters */ |
| |
| /* Adapter types */ |
| #define SDLA_S502A 5020 |
| #define SDLA_S502E 5021 |
| #define SDLA_S503 5030 |
| #define SDLA_S508 5080 |
| #define SDLA_S507 5070 |
| #define SDLA_S509 5090 |
| #define SDLA_S514 5140 |
| |
| /* S514 PCI adapter CPU numbers */ |
| #define S514_CPU_A 'A' |
| #define S514_CPU_B 'B' |
| |
| |
| /* Firmware identification numbers: |
| * 0 .. 999 Test & Diagnostics |
| * 1000 .. 1999 Streaming HDLC |
| * 2000 .. 2999 Bisync |
| * 3000 .. 3999 SDLC |
| * 4000 .. 4999 HDLC |
| * 5000 .. 5999 X.25 |
| * 6000 .. 6999 Frame Relay |
| * 7000 .. 7999 PPP |
| * 8000 .. 8999 Cisco HDLC |
| */ |
| #define SFID_CALIB502 200 |
| #define SFID_STRM502 1200 |
| #define SFID_STRM508 1800 |
| #define SFID_BSC502 2200 |
| #define SFID_SDLC502 3200 |
| #define SFID_HDLC502 4200 |
| #define SFID_HDLC508 4800 |
| #define SFID_X25_502 5200 |
| #define SFID_X25_508 5800 |
| #define SFID_FR502 6200 |
| #define SFID_FR508 6800 |
| #define SFID_PPP502 7200 |
| #define SFID_PPP508 7800 |
| #define SFID_PPP514 7140 |
| #define SFID_CHDLC508 8800 |
| #define SFID_CHDLC514 8140 |
| |
| /****** Data Types **********************************************************/ |
| |
| typedef struct sfm_info /* firmware module information */ |
| { |
| unsigned short codeid; /* firmware ID */ |
| unsigned short version; /* firmaware version number */ |
| unsigned short adapter[SFM_MAX_SDLA]; /* compatible adapter types */ |
| unsigned long memsize; /* minimum memory size */ |
| unsigned short reserved[2]; /* reserved */ |
| unsigned short startoffs; /* entry point offset */ |
| unsigned short winoffs; /* dual-port memory window offset */ |
| unsigned short codeoffs; /* code load offset */ |
| unsigned short codesize; /* code size */ |
| unsigned short dataoffs; /* configuration data load offset */ |
| unsigned short datasize; /* configuration data size */ |
| } sfm_info_t; |
| |
| typedef struct sfm /* SDLA firmware file structire */ |
| { |
| char signature[80]; /* SFM file signature */ |
| unsigned short version; /* file format version */ |
| unsigned short checksum; /* info + image */ |
| unsigned short reserved[6]; /* reserved */ |
| char descr[SFM_DESCR_LEN]; /* description string */ |
| sfm_info_t info; /* firmware module info */ |
| unsigned char image[1]; /* code image (variable size) */ |
| } sfm_t; |
| |
| #endif /* _SDLASFM_H */ |
| |