X-Git-Url: https://git.jankratochvil.net/?p=gnokii.git;a=blobdiff_plain;f=include%2Fdata%2Frlp-common.h;h=17532bb0ab5188bdf48b2146b420dc16280ed491;hp=90d57712b06ca702eac730d8fe3393aa4a3a8054;hb=8eb3b4c214460c632da1c0a40fc485ae19a21ec4;hpb=b6b8bd50d1e4da9adfe66b7c14a09dcd1659f6c5 diff --git a/include/data/rlp-common.h b/include/data/rlp-common.h index 90d5771..17532bb 100644 --- a/include/data/rlp-common.h +++ b/include/data/rlp-common.h @@ -18,8 +18,14 @@ Header file for RLP protocol. $Log$ - Revision 1.1.1.1 2001/11/25 21:59:21 short - :pserver:cvs@pserver.samba.org:/cvsroot - gnokii - Sun Nov 25 22:56 CET 2001 + Revision 1.1.1.1.2.1 2001/11/27 22:48:37 short + Update: orig2001_11_27_05_17 -> orig2001_11_27_22_58 + + Revision 1.1.1.2 2001/11/27 22:01:28 short + :pserver:cvs@pserver.samba.org:/cvsroot - gnokii - Tue Nov 27 22:58 CET 2001 + + Revision 1.3 2001/11/27 12:19:01 pkot + Cleanup, indentation, ANSI complaint preprocesor symbols (Jan Kratochvil, me) Revision 1.2 2001/06/10 11:29:49 machek It is very bad idea to name enum "Data", because it is then impossible @@ -27,15 +33,13 @@ Revision 1.1 2001/02/21 19:57:11 chris More fiddling with the directory layout - - */ #ifndef __data_rlp_common_h #define __data_rlp_common_h #ifndef __misc_h - #include "misc.h" +# include "misc.h" #endif /* Global variables */ @@ -45,148 +49,134 @@ /* Data types */ /* Typedef for frame type - they are the same for RLP version 0, 1 and 2. */ - typedef enum { - RLPFT_X, /* Unknown. */ - RLPFT_U, /* Unnumbered frame. */ - RLPFT_S, /* Supervisory frame. */ - RLPFT_IS /* Information plus Supervisory (I+S) frame. */ + RLPFT_X, /* Unknown. */ + RLPFT_U, /* Unnumbered frame. */ + RLPFT_S, /* Supervisory frame. */ + RLPFT_IS /* Information plus Supervisory (I+S) frame. */ } RLP_FrameType; /* Define the various Unnumbered frame types. Numbering is bit reversed relative to ETSI GSM 04.22 for easy parsing. */ - typedef enum { - RLPU_SABM = 0x07, /* Set Asynchronous Balanced Mode. */ - RLPU_UA = 0x0c, /* Unnumbered Acknowledge. */ - RLPU_DISC = 0x08, /* Disconnect. */ - RLPU_DM = 0x03, /* Disconnected Mode. */ - RLPU_NULL = 0x0f, /* Null information. */ - RLPU_UI = 0x00, /* Unnumbered Information. */ - RLPU_XID = 0x17, /* Exchange Identification. */ - RLPU_TEST = 0x1c, /* Test. */ - RLPU_REMAP = 0x11 /* Remap. */ + RLPU_SABM = 0x07, /* Set Asynchronous Balanced Mode. */ + RLPU_UA = 0x0c, /* Unnumbered Acknowledge. */ + RLPU_DISC = 0x08, /* Disconnect. */ + RLPU_DM = 0x03, /* Disconnected Mode. */ + RLPU_NULL = 0x0f, /* Null information. */ + RLPU_UI = 0x00, /* Unnumbered Information. */ + RLPU_XID = 0x17, /* Exchange Identification. */ + RLPU_TEST = 0x1c, /* Test. */ + RLPU_REMAP = 0x11 /* Remap. */ } RLP_UFrameType; /* Define supervisory frame field. */ - typedef enum { - RLPS_RR = 0x00, /* Receive Ready. */ - RLPS_REJ = 0x02, /* Reject. */ - RLPS_RNR = 0x01, /* Receive Not Ready. */ - RLPS_SREJ = 0x03 /* Selective Reject. */ + RLPS_RR = 0x00, /* Receive Ready. */ + RLPS_REJ = 0x02, /* Reject. */ + RLPS_RNR = 0x01, /* Receive Not Ready. */ + RLPS_SREJ = 0x03 /* Selective Reject. */ } RLP_SFrameField; /* Used for CurrentFrameType. */ - typedef enum { - RLPFT_U_SABM = 0x00, - RLPFT_U_UA, - RLPFT_U_DISC, - RLPFT_U_DM, - RLPFT_U_NULL, - RLPFT_U_UI, - RLPFT_U_XID, - RLPFT_U_TEST, - RLPFT_U_REMAP, - RLPFT_S_RR, - RLPFT_S_REJ, - RLPFT_S_RNR, - RLPFT_S_SREJ, - RLPFT_SI_RR, - RLPFT_SI_REJ, - RLPFT_SI_RNR, - RLPFT_SI_SREJ, - RLPFT_BAD + RLPFT_U_SABM = 0x00, + RLPFT_U_UA, + RLPFT_U_DISC, + RLPFT_U_DM, + RLPFT_U_NULL, + RLPFT_U_UI, + RLPFT_U_XID, + RLPFT_U_TEST, + RLPFT_U_REMAP, + RLPFT_S_RR, + RLPFT_S_REJ, + RLPFT_S_RNR, + RLPFT_S_SREJ, + RLPFT_SI_RR, + RLPFT_SI_REJ, + RLPFT_SI_RNR, + RLPFT_SI_SREJ, + RLPFT_BAD } RLP_FrameTypes; /* Frame definition for TCH/F9.6 frame. */ - typedef struct { - u8 Header[2]; - u8 Data[25]; - u8 FCS[3]; + u8 Header[2]; + u8 Data[25]; + u8 FCS[3]; } RLP_F96Frame; /* Header data "split up" for TCH/F9.6 frame. */ - typedef struct { - u8 Ns; /* Send sequence number. */ - u8 Nr; /* Receive sequence number. */ - u8 M; /* Unumbered frame type. */ - u8 S; /* Status. */ - bool PF; /* Poll/Final. */ - bool CR; /* Command/Response. */ - RLP_FrameType Type; /* Frame type. */ + u8 Ns; /* Send sequence number. */ + u8 Nr; /* Receive sequence number. */ + u8 M; /* Unumbered frame type. */ + u8 S; /* Status. */ + bool PF; /* Poll/Final. */ + bool CR; /* Command/Response. */ + RLP_FrameType Type; /* Frame type. */ } RLP_F96Header; /* RLP User requests */ - typedef struct { - bool Conn_Req; - bool Attach_Req; - bool Conn_Req_Neg; - bool Reset_Resp; - bool Disc_Req; + bool Conn_Req; + bool Attach_Req; + bool Conn_Req_Neg; + bool Reset_Resp; + bool Disc_Req; } RLP_UserRequestStore; typedef enum { - Conn_Req, - Attach_Req, - Conn_Req_Neg, - Reset_Resp, - Disc_Req + Conn_Req, + Attach_Req, + Conn_Req_Neg, + Reset_Resp, + Disc_Req } RLP_UserRequests; typedef enum { - Conn_Ind, - Conn_Conf, - Disc_Ind, - Reset_Ind, - Data, /* FIXME: This should really be called RLP_Data, otherwise it hogs name "Data"! */ - StatusChange, - GetData + Conn_Ind, + Conn_Conf, + Disc_Ind, + Reset_Ind, + Data, /* FIXME: This should really be called RLP_Data, otherwise it hogs name "Data"! */ + StatusChange, + GetData } RLP_UserInds; /* RLP (main) states. See GSM specification 04.22 Annex A, Section A.1.1. */ - typedef enum { - RLP_S0, /* ADM and Detached */ - RLP_S1, /* ADM and Attached */ - RLP_S2, /* Pending Connect Request */ - RLP_S3, /* Pending Connect Indication */ - RLP_S4, /* ABM and Connection Established */ - RLP_S5, /* Disconnect Initiated */ - RLP_S6, /* Pending Reset Request */ - RLP_S7, /* Pending Reset Indication */ - RLP_S8 /* Error */ + RLP_S0, /* ADM and Detached */ + RLP_S1, /* ADM and Attached */ + RLP_S2, /* Pending Connect Request */ + RLP_S3, /* Pending Connect Indication */ + RLP_S4, /* ABM and Connection Established */ + RLP_S5, /* Disconnect Initiated */ + RLP_S6, /* Pending Reset Request */ + RLP_S7, /* Pending Reset Indication */ + RLP_S8 /* Error */ } RLP_State; /* RLP specification defines several states in which variables can be. */ - typedef enum { - _idle=0, - _send, - _wait, - _rcvd, - _ackn, - _rej, - _srej + _idle=0, + _send, + _wait, + _rcvd, + _ackn, + _rej, + _srej } RLP_StateVariable; - /* RLP Data */ - typedef struct { - u8 Data[25]; - RLP_StateVariable State; + u8 Data[25]; + RLP_StateVariable State; } RLP_Data; - - /* Prototypes for functions. */ - void RLP_DisplayF96Frame(RLP_F96Frame *frame); void RLP_DecodeF96Header(RLP_F96Frame *frame, RLP_F96Header *header); void RLP_DisplayXID(u8 *frame);