⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 psyntree.h

📁 RVGatekeeper SIP SDK
💻 H
字号:
#ifdef __cplusplusextern "C" {#endif/*
***********************************************************************************

NOTICE:
This document contains information that is proprietary to RADVision LTD..
No part of this publication may be reproduced in any form whatsoever without 
written prior approval by RADVision LTD..

RADVision LTD. reserves the right to revise this publication and make changes 
without obligation to notify any person of such revisions or changes.

***********************************************************************************
*/
/*  psynTree.h  Syntax tree interface.  Provides access to a single compilation unit of asn modules.  Ron S.   31 Oct. 1996  Revised from syntree.h  Parameters:   - synH: syntax tree handler.   - nodeId: id of node in the syntax tree. unique identifier.   - node: node information unit. Allocated by user.   - child: field under node information unit. Allocated by user.   - index: >=1.  Notes:   - Field names are identical to names in asn text file. The names are NULL terminated.   - Output pointer parameters may be null. It means that they are ignored.  */#ifndef _PSYNTREE_#define _PSYNTREE_#include <rvcommon.h>  typedef enum {    /*** Simple types ***/    pstInteger =1,    pstNull,    pstBoolean,    pstEnumeration,    pstObjectIdentifier,    pstOctetString,    /*** Strings ***/    pstBitString,    pstGeneralString,    pstUniversalString,    pstBMPString,    pstIA5String,    pstVisibleString,    pstNumericString,    pstPrintableString,    /*** Complex types ***/    pstChoice,    pstSequence,    pstSet,    pstOf,    pstSequenceOf,    pstSetOf  } pstNodeType;  /* child record type */  typedef struct {    int   index;           /* number of child, starting at 1.                              ERROR if invalid */    int   nodeId;          /* child's node id */    INT32 fieldId;         /* child's field id */    BOOL  isOptional;      /* TRUE if the child is optional */  } pstChild;  DECLARE_OPAQUE(HPST); /* handler */  RVAPI HPST CALLCONV  pstConstruct(	    IN  unsigned char *syntax, /* ASN compiler object output */	    IN  char *rootName /* syntax tree root name */	    );  RVAPI int CALLCONV    pstDestruct(HPST synH);  RVAPI pstNodeType CALLCONV /* type of node */  pstGetNodeType(		 IN  HPST    synH, 		 IN  int     nodeId 		 );  /* for Sequence Of XXX/Set Of XXX nodes - returns the id of XXX */  RVAPI int CALLCONV   pstGetNodeOfId(		 IN  HPST    synH, 		 IN  int     nodeId 		 );  RVAPI int CALLCONV /* type of node */  pstGetNodeRange(		  IN  HPST    synH, 		  IN  int     nodeId, 		  OUT int *   from,		  OUT int *   to		  );  RVAPI INT32 CALLCONV /* Field enumeration or ERROR */  pstGetFieldId(	        /* convert field name to internal id */		IN  HPST        synH, 	        IN  const char *fieldName /* null terminated string */	        );  RVAPI int CALLCONV /* Real length of field name or ERROR */  pstGetFieldName(		  /* convert field internal id to field name */		  IN  HPST synH, 		  IN  INT32 fieldId,		  IN  int fieldNameLength, /* num. of bytes in string allocation */		  OUT char* fieldName /* user allocated */		  );  RVAPI  int CALLCONV /* actual length of the fromString or ERROR */  pstGetFROMString(		   /* Get the character constraints of the syntax node */		   IN  HPST synH, 		   IN  int nodeId,		   IN  int fromStringLength, /* num. of bytes in string allocation */		   OUT char* fromString /* null terminated. user allocated */		   );      RVAPI /*INT32*/int CALLCONV /* Internal node id or ERROR */  pstGetNodeIdByPath(		     /* get internal node id from specified node path.			Path to node should start at root, and correspond to the			ASN module syntax structure. */		     IN  HPST        synH,		     IN  const char *path  /* format: "a.b.c" */		     );  RVAPI int CALLCONV /* the length of the root name or ERROR. */  pstGetRootName(                    		 /* note: if bufferLength is smaller than the name length,		    the correct length is returned, but the buffer will		    not be valid. */		 IN  HPST    synH,		 IN  int     bufferLength,   /* target buffer length */		 OUT char *  buffer          /* target buffer for root name */		 );  RVAPI int CALLCONV   pstGetNumberOfChildren(			 IN  HPST    synH,			 IN  int     nodeId			 );  RVAPI int CALLCONV  pstGetChild(	      IN  HPST        synH,	      IN  int         nodeId,      /* node id of parent */	      IN  int         childIndex,   /* index of child */	      OUT pstChild *  child	      );  RVAPI BOOL CALLCONV /* true if node is of one of the string types: */  /*  pstObjectIdentifier, pstOctetString, pstBitString, pstGeneralString,       pstUniversalString, pstBMPString, pstIA5String, pstVisibleString,       pstNumericString, pstPrintableString   */  pstIsStringNode(		  IN  HPST     synH, 		  IN  int      nodeId 		  );#endif#ifdef __cplusplus}              #endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -