/* getpico.c */ /* This module extracts the ATM pico code from */ /* the OS/2 driver. */ #define RECV_BASE 0x19ea #define XMIT_BASE 0x2332 #define RECV_WORDS 0x4a3 #define XMIT_WORDS 0x46d unsigned short inbuf[32 * 1024]; #include #include void main() { int fd; int i; int amt; fd = open("at25ip.os2", O_RDONLY); printf("\n/* AAL5 Receive Pico code */ \n"); printf("static int aal5_recvcnt = %d; \n\n", RECV_WORDS); printf("static unsigned short aal5_recvdata[%d] = \n{\n", RECV_WORDS); lseek(fd, RECV_BASE, SEEK_SET); amt = read(fd, inbuf, 2* RECV_WORDS); for (i = 0; i < RECV_WORDS; i++) { if ((i % 8) == 0) printf("\n "); printf("0x%04x, ", inbuf[i]); } printf("\n};\n"); printf("\n/* AAL5 Transmit Pico code */ \n"); printf("static int aal5_xmitcnt = %d \n\n", XMIT_WORDS); printf("static unsigned short aal5_xmitdata[%d] = \n{\n", XMIT_WORDS); lseek(fd, XMIT_BASE, SEEK_SET); amt = read(fd, inbuf, 2* XMIT_WORDS); for (i = 0; i < XMIT_WORDS; i++) { if ((i % 8) == 0) printf("\n "); printf("0x%04x, ", inbuf[i]); } printf("\n};\n"); }