/*      CAP message coding/decoding head file   */
/*      Written by Liu Zhiguo 2003-08-26                */
/*      Version 1.0                                                             */
/*      -------------------------------------   */

#ifndef _CAP_CODING
#define _CAP_CODING

#ifndef _SRF_RELEVANT
#define _SRF_RELEVANT
#endif

int  encSubscriberState(u_char sel, char *tagprefix, CapSubscriberState arg, ASN_BUF * asnbuf);
int  decSubscriberState(char *tagprefix, CapSubscriberState * parg, ASN_BUF * asnbuf);
int  encExt_BasicServiceCode(u_char sel, char *tagprefix, CapExt_BasicServiceCode arg, ASN_BUF * asnbuf);
int  decExt_BasicServiceCode(char *tagprefix, CapExt_BasicServiceCode * parg, ASN_BUF * asnbuf);
int  encLocationInformation(char *tagprefix, CapLocationInformation arg, ASN_BUF * asnbuf);
int  decLocationInformation(char *tagprefix, CapLocationInformation * parg, ASN_BUF * asnbuf);
int  encACBCC(struct CapACBCC arg, char *msgbuf, int maxlen);
int  decACBCC(char *msgbuf, int msglen, CapACBCC * parg);
int  encLegID(u_char sel, char *tagprefix, CapLegID arg, ASN_BUF * asnbuf);
int  decLegID(char *tagprefix, CapLegID * parg, ASN_BUF * asnbuf);
int  encESIBCSM(char *tagprefix, CapESIBCSM arg, ASN_BUF * asnbuf);
int  decESIBCSM(char *tagprefix, CapESIBCSM * parg, ASN_BUF * asnbuf);
int  encLocationInformationGPRS(char *tagprefix, CapLocationInformationGPRS arg, ASN_BUF * asnbuf);
int  decLocationInformationGPRS(char *tagprefix, CapLocationInformationGPRS * parg, ASN_BUF * asnbuf);
int  encESISMS(char *tagprefix, CapESISMS arg, ASN_BUF * asnbuf);
int  decESISMS(char *tagprefix, CapESISMS * parg, ASN_BUF * asnbuf);

#ifdef _SRF_RELEVANT
int  encServiceInteractionIndicatorsTwo(char *tagprefix, CapServiceInteractionIndicatorsTwo arg, ASN_BUF * asnbuf);
int  decServiceInteractionIndicatorsTwo(char *tagprefix, CapServiceInteractionIndicatorsTwo * parg, ASN_BUF * asnbuf);
int  encInformationToSend(char *tagprefix, CapInformationToSend arg, ASN_BUF * asnbuf);
int  decInformationToSend(char *tagprefix, CapInformationToSend * parg, ASN_BUF * asnbuf);
int  encCollectedInfo(char *tagprefix, CapCollectedInfo arg, ASN_BUF * asnbuf);
int  decCollectedInfo(char *tagprefix, CapCollectedInfo * parg, ASN_BUF * asnbuf);
#endif

#endif
