integer.h

来自「H.248协议编解码协议栈」· C头文件 代码 · 共 56 行

H
56
字号
/*- * Copyright (c) 2003, 2005 Lev Walkin <vlm@lionet.info>. All rights reserved. * Redistribution and modifications are permitted subject to BSD license. */#ifndef	_INTEGER_H_#define	_INTEGER_H_#include <asn_application.h>#include <asn_codecs_prim.h>typedef ASN__PRIMITIVE_TYPE_t INTEGER_t;extern asn_TYPE_descriptor_t asn_DEF_INTEGER;/* Map with <tag> to integer value association */typedef struct asn_INTEGER_enum_map_s {	long		 nat_value;	/* associated native integer value */	size_t		 enum_len;	/* strlen("tag") */	const char	*enum_name;	/* "tag" */} asn_INTEGER_enum_map_t;/* This type describes an enumeration for INTEGER and ENUMERATED types */typedef struct asn_INTEGER_specifics_s {	asn_INTEGER_enum_map_t *value2enum;	/* N -> "tag"; sorted by N */	unsigned int *enum2value;		/* "tag" => N; sorted by tag */	int map_count;				/* Elements in either map */	int extensible;				/* This map is extensible */	int strict_enumeration;			/* Enumeration set is fixed */} asn_INTEGER_specifics_t;asn_struct_print_f INTEGER_print;ber_type_decoder_f INTEGER_decode_ber;der_type_encoder_f INTEGER_encode_der;xer_type_decoder_f INTEGER_decode_xer;xer_type_encoder_f INTEGER_encode_xer;/*********************************** * Some handy conversion routines. * ***********************************//* * Returns 0 if it was possible to convert, -1 otherwise. * -1/EINVAL: Mandatory argument missing * -1/ERANGE: Value encoded is out of range for long representation * -1/ENOMEM: Memory allocation failed (in asn_long2INTEGER()). */int asn_INTEGER2long(const INTEGER_t *i, long *l);int asn_long2INTEGER(INTEGER_t *i, long l);/* * Convert the integer value into the corresponding enumeration map entry. */const asn_INTEGER_enum_map_t *INTEGER_map_value2enum(asn_INTEGER_specifics_t *specs, long value);#endif	/* _INTEGER_H_ */

⌨️ 快捷键说明

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