blob: ef4d3f252bacc5bbdef6daf3e8a45cb35be2f674 [file] [log] [blame]
vlmfa67ddc2004-06-03 03:38:44 +00001/*-
2 * Copyright (c) 2003 Lev Walkin <vlm@lionet.info>. All rights reserved.
3 * Redistribution and modifications are permitted subject to BSD license.
4 */
5#ifndef _INTEGER_H_
6#define _INTEGER_H_
7
8#include <constr_TYPE.h>
9
10typedef struct INTEGER {
11 uint8_t *buf; /* Buffer with consecutive INTEGER bits (big-endian) */
12 int size; /* Size of the buffer */
13} INTEGER_t;
14
15extern asn1_TYPE_descriptor_t asn1_DEF_INTEGER;
16
17ber_type_decoder_f INTEGER_decode_ber;
18der_type_encoder_f INTEGER_encode_der;
19asn_struct_print_f INTEGER_print;
20asn_struct_free_f INTEGER_free;
21
22/***********************************
23 * Some handy conversion routines. *
24 ***********************************/
25
26/*
27 * Returns 0 if it was possible to convert, -1 otherwise.
28 * -1/EINVAL: Mandatory argument missing
29 * -1/ERANGE: Value encoded is out of range for long representation
30 */
31int asn1_INTEGER2long(const INTEGER_t *i, long *l);
32
33#endif /* _INTEGER_H_ */