#include <stdlib.h>\r
#include "mfifo.h"\r
\r
-#ifdef _MSC_VER\r
-/* temporary disable */\r
-#pragma warning(disable: 4244)\r
-#endif\r
-\r
/*****************************************************************************\r
Global Tables & Variables.\r
*****************************************************************************/\r
Q921Data Q921DevSpace[Q921MAXTRUNK];\r
int Q921HeaderSpace={0};\r
\r
-int (*Q921Tx21Proc)(int dev, unsigned char *, int)={NULL};\r
-int (*Q921Tx23Proc)(int dev, unsigned char *, int)={NULL};\r
+int (*Q921Tx21Proc)(int dev, L2UCHAR *, int)={NULL};\r
+int (*Q921Tx23Proc)(int dev, L2UCHAR *, int)={NULL};\r
\r
/*****************************************************************************\r
\r
Q921HeaderSpace=hspace;\r
}\r
\r
-void Q921SetTx21CB(int (*callback)(int dev, unsigned char *, int))\r
+void Q921SetTx21CB(int (*callback)(int dev, L2UCHAR *, int))\r
{\r
Q921Tx21Proc = callback;\r
}\r
\r
-void Q921SetTx23CB(int (*callback)(int dev, unsigned char *, int))\r
+void Q921SetTx23CB(int (*callback)(int dev, L2UCHAR *, int))\r
{\r
Q921Tx23Proc = callback;\r
}\r
size size of frame in bytes\r
\r
*****************************************************************************/\r
-int Q921QueueHDLCFrame(int trunk, unsigned char *b, int size)\r
+int Q921QueueHDLCFrame(int trunk, L2UCHAR *b, int size)\r
{\r
return MFIFOWriteMes(Q921DevSpace[trunk].HDLCInQueue, b, size);\r
}\r
Return Value: 0 if failed, 1 if Send.\r
\r
*****************************************************************************/\r
-int Q921SendI(int trunk, unsigned char Sapi, char cr, unsigned char Tei, char pf, unsigned char *mes, int size)\r
+int Q921SendI(int trunk, L2UCHAR Sapi, char cr, L2UCHAR Tei, char pf, L2UCHAR *mes, int size)\r
{\r
mes[Q921HeaderSpace+0] = (Sapi&0xfc) | ((cr<<1)&0x02);\r
mes[Q921HeaderSpace+1] = (Tei<<1) | 0x01;\r
\r
int Q921SendRR(int trunk, int Sapi, int cr, int Tei, int pf)\r
{\r
- unsigned char mes[400];\r
+ L2UCHAR mes[400];\r
\r
- mes[Q921HeaderSpace+0] = (Sapi&0xfc) | ((cr<<1)&0x02);\r
- mes[Q921HeaderSpace+1] = (Tei<<1) | 0x01;\r
- mes[Q921HeaderSpace+2] = 0x01;\r
- mes[Q921HeaderSpace+3] = (Q921DevSpace[trunk].vr<<1) | (pf & 0x01);\r
+ mes[Q921HeaderSpace+0] = (L2UCHAR)((Sapi&0xfc) | ((cr<<1)&0x02));\r
+ mes[Q921HeaderSpace+1] = (L2UCHAR)((Tei<<1) | 0x01);\r
+ mes[Q921HeaderSpace+2] = (L2UCHAR)0x01;\r
+ mes[Q921HeaderSpace+3] = (L2UCHAR)((Q921DevSpace[trunk].vr<<1) | (pf & 0x01));\r
\r
return Q921Tx21Proc(trunk, mes, Q921HeaderSpace+4);\r
}\r
*****************************************************************************/\r
int Q921SendRNR(int trunk, int Sapi, int cr, int Tei, int pf)\r
{\r
- unsigned char mes[400];\r
+ L2UCHAR mes[400];\r
\r
- mes[Q921HeaderSpace+0] = (Sapi&0xfc) | ((cr<<1)&0x02);\r
- mes[Q921HeaderSpace+1] = (Tei<<1) | 0x01;\r
- mes[Q921HeaderSpace+2] = 0x05;\r
- mes[Q921HeaderSpace+3] = (Q921DevSpace[trunk].vr<<1) | (pf & 0x01);\r
+ mes[Q921HeaderSpace+0] = (L2UCHAR)((Sapi&0xfc) | ((cr<<1)&0x02));\r
+ mes[Q921HeaderSpace+1] = (L2UCHAR)((Tei<<1) | 0x01);\r
+ mes[Q921HeaderSpace+2] = (L2UCHAR)0x05;\r
+ mes[Q921HeaderSpace+3] = (L2UCHAR)((Q921DevSpace[trunk].vr<<1) | (pf & 0x01));\r
\r
return Q921Tx21Proc(trunk, mes, Q921HeaderSpace+4);\r
}\r
*****************************************************************************/\r
int Q921SendREJ(int trunk, int Sapi, int cr, int Tei, int pf)\r
{\r
- unsigned char mes[400];\r
+ L2UCHAR mes[400];\r
\r
- mes[Q921HeaderSpace+0] = (Sapi&0xfc) | ((cr<<1)&0x02);\r
- mes[Q921HeaderSpace+1] = (Tei<<1) | 0x01;\r
- mes[Q921HeaderSpace+2] = 0x09;\r
- mes[Q921HeaderSpace+3] = (Q921DevSpace[trunk].vr<<1) | (pf & 0x01);\r
+ mes[Q921HeaderSpace+0] = (L2UCHAR)((Sapi&0xfc) | ((cr<<1)&0x02));\r
+ mes[Q921HeaderSpace+1] = (L2UCHAR)((Tei<<1) | 0x01);\r
+ mes[Q921HeaderSpace+2] = (L2UCHAR)0x09;\r
+ mes[Q921HeaderSpace+3] = (L2UCHAR)((Q921DevSpace[trunk].vr<<1) | (pf & 0x01));\r
\r
return Q921Tx21Proc(trunk, mes, Q921HeaderSpace+4);\r
}\r
*****************************************************************************/\r
int Q921SendSABME(int trunk, int Sapi, int cr, int Tei, int pf)\r
{\r
- unsigned char mes[400];\r
+ L2UCHAR mes[400];\r
\r
- mes[Q921HeaderSpace+0] = (Sapi&0xfc) | ((cr<<1)&0x02);\r
- mes[Q921HeaderSpace+1] = (Tei<<1) | 0x01;\r
- mes[Q921HeaderSpace+2] = 0x6f | ((pf<<4)&0x10);\r
+ mes[Q921HeaderSpace+0] = (L2UCHAR)((Sapi&0xfc) | ((cr<<1)&0x02));\r
+ mes[Q921HeaderSpace+1] = (L2UCHAR)((Tei<<1) | 0x01);\r
+ mes[Q921HeaderSpace+2] = (L2UCHAR)(0x6f | ((pf<<4)&0x10));\r
\r
return Q921Tx21Proc(trunk, mes, Q921HeaderSpace+3);\r
}\r
*****************************************************************************/\r
int Q921SendDM(int trunk, int Sapi, int cr, int Tei, int pf)\r
{\r
- unsigned char mes[400];\r
+ L2UCHAR mes[400];\r
\r
- mes[Q921HeaderSpace+0] = (Sapi&0xfc) | ((cr<<1)&0x02);\r
- mes[Q921HeaderSpace+1] = (Tei<<1) | 0x01;\r
- mes[Q921HeaderSpace+2] = 0x0f | ((pf<<4)&0x10);\r
+ mes[Q921HeaderSpace+0] = (L2UCHAR)((Sapi&0xfc) | ((cr<<1)&0x02));\r
+ mes[Q921HeaderSpace+1] = (L2UCHAR)((Tei<<1) | 0x01);\r
+ mes[Q921HeaderSpace+2] = (L2UCHAR)(0x0f | ((pf<<4)&0x10));\r
\r
return Q921Tx21Proc(trunk, mes, Q921HeaderSpace+3);\r
}\r
*****************************************************************************/\r
int Q921SendDISC(int trunk, int Sapi, int cr, int Tei, int pf)\r
{\r
- unsigned char mes[400];\r
+ L2UCHAR mes[400];\r
\r
- mes[Q921HeaderSpace+0] = (Sapi&0xfc) | ((cr<<1)&0x02);\r
- mes[Q921HeaderSpace+1] = (Tei<<1) | 0x01;\r
- mes[Q921HeaderSpace+2] = 0x43 | ((pf<<4)&0x10);\r
+ mes[Q921HeaderSpace+0] = (L2UCHAR)((Sapi&0xfc) | ((cr<<1)&0x02));\r
+ mes[Q921HeaderSpace+1] = (L2UCHAR)((Tei<<1) | 0x01);\r
+ mes[Q921HeaderSpace+2] = (L2UCHAR)(0x43 | ((pf<<4)&0x10));\r
\r
return Q921Tx21Proc(trunk, mes, Q921HeaderSpace+3);\r
}\r
*****************************************************************************/\r
int Q921SendUA(int trunk, int Sapi, int cr, int Tei, int pf)\r
{\r
- unsigned char mes[400];\r
+ L2UCHAR mes[400];\r
\r
- mes[Q921HeaderSpace+0] = (Sapi&0xfc) | ((cr<<1)&0x02);\r
- mes[Q921HeaderSpace+1] = (Tei<<1) | 0x01;\r
- mes[Q921HeaderSpace+2] = 0x63 | ((pf<<4)&0x10);\r
+ mes[Q921HeaderSpace+0] = (L2UCHAR)((Sapi&0xfc) | ((cr<<1)&0x02));\r
+ mes[Q921HeaderSpace+1] = (L2UCHAR)((Tei<<1) | 0x01);\r
+ mes[Q921HeaderSpace+2] = (L2UCHAR)(0x63 | ((pf<<4)&0x10));\r
\r
return Q921Tx21Proc(trunk, mes, Q921HeaderSpace+3);\r
}\r
\r
-int Q921ProcSABME(int trunk, unsigned char *mes, int size)\r
+int Q921ProcSABME(int trunk, L2UCHAR *mes, int size)\r
{\r
/* TODO: Do we need these paramaters? */\r
(void)mes;\r
*****************************************************************************/\r
int Q921Rx12(long trunk)\r
{\r
- unsigned char *mes;\r
+ L2UCHAR *mes;\r
int rs,size; /* receive size & Q921 frame size*/\r
- unsigned char *smes = MFIFOGetMesPtr(Q921DevSpace[trunk].HDLCInQueue, &size);\r
+ L2UCHAR *smes = MFIFOGetMesPtr(Q921DevSpace[trunk].HDLCInQueue, &size);\r
if(smes != NULL)\r
{\r
rs = size - Q921HeaderSpace;\r