sdlasfm.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:3k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  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. /****** Defines *************************************************************/
  23. #define SFM_VERSION 2
  24. #define SFM_SIGNATURE "SFM - Sangoma SDLA Firmware Module"
  25. /* min/max */
  26. #define SFM_IMAGE_SIZE 0x8000 /* max size of SDLA code image file */
  27. #define SFM_DESCR_LEN 256 /* max length of description string */
  28. #define SFM_MAX_SDLA 16 /* max number of compatible adapters */
  29. /* Adapter types */
  30. #define SDLA_S502A 5020
  31. #define SDLA_S502E 5021
  32. #define SDLA_S503 5030
  33. #define SDLA_S508 5080
  34. #define SDLA_S507 5070
  35. #define SDLA_S509 5090
  36. #define SDLA_S514 5140
  37. /* S514 PCI adapter CPU numbers */
  38. #define S514_CPU_A 'A'
  39. #define S514_CPU_B 'B'
  40. /* Firmware identification numbers:
  41.  *    0  ..  999 Test & Diagnostics
  42.  *  1000 .. 1999 Streaming HDLC
  43.  *  2000 .. 2999 Bisync
  44.  *  3000 .. 3999 SDLC
  45.  *  4000 .. 4999 HDLC
  46.  *  5000 .. 5999 X.25
  47.  *  6000 .. 6999 Frame Relay
  48.  *  7000 .. 7999 PPP
  49.  *  8000 .. 8999        Cisco HDLC
  50.  */
  51. #define SFID_CALIB502  200
  52. #define SFID_STRM502 1200
  53. #define SFID_STRM508 1800
  54. #define SFID_BSC502 2200
  55. #define SFID_SDLC502 3200
  56. #define SFID_HDLC502 4200
  57. #define SFID_HDLC508 4800
  58. #define SFID_X25_502 5200
  59. #define SFID_X25_508 5800
  60. #define SFID_FR502 6200
  61. #define SFID_FR508 6800
  62. #define SFID_PPP502 7200
  63. #define SFID_PPP508 7800
  64. #define SFID_PPP514 7140
  65. #define SFID_CHDLC508 8800
  66. #define SFID_CHDLC514 8140
  67. /****** Data Types **********************************************************/
  68. typedef struct sfm_info /* firmware module information */
  69. {
  70. unsigned short codeid; /* firmware ID */
  71. unsigned short version; /* firmaware version number */
  72. unsigned short adapter[SFM_MAX_SDLA]; /* compatible adapter types */
  73. unsigned long memsize; /* minimum memory size */
  74. unsigned short reserved[2]; /* reserved */
  75. unsigned short startoffs; /* entry point offset */
  76. unsigned short winoffs; /* dual-port memory window offset */
  77. unsigned short codeoffs; /* code load offset */
  78. unsigned short codesize; /* code size */
  79. unsigned short dataoffs; /* configuration data load offset */
  80. unsigned short datasize; /* configuration data size */
  81. } sfm_info_t;
  82. typedef struct sfm /* SDLA firmware file structire */
  83. {
  84. char signature[80]; /* SFM file signature */
  85. unsigned short version; /* file format version */
  86. unsigned short checksum; /* info + image */
  87. unsigned short reserved[6]; /* reserved */
  88. char descr[SFM_DESCR_LEN]; /* description string */
  89. sfm_info_t info; /* firmware module info */
  90. unsigned char image[1]; /* code image (variable size) */
  91. } sfm_t;
  92. #endif /* _SDLASFM_H */