2004-06-03 03:38:44 +00:00
|
|
|
/*-
|
|
|
|
* Copyright (c) 2003, 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
|
|
|
|
* Redistribution and modifications are permitted subject to BSD license.
|
|
|
|
*/
|
|
|
|
#ifndef _RELATIVE_OID_H_
|
|
|
|
#define _RELATIVE_OID_H_
|
|
|
|
|
|
|
|
#include <OBJECT_IDENTIFIER.h>
|
|
|
|
|
2005-07-24 09:03:44 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2004-09-24 21:00:50 +00:00
|
|
|
/* Implemented via OBJECT IDENTIFIER */
|
2004-06-03 03:38:44 +00:00
|
|
|
typedef OBJECT_IDENTIFIER_t RELATIVE_OID_t;
|
|
|
|
|
2004-09-29 13:26:15 +00:00
|
|
|
extern asn_TYPE_descriptor_t asn_DEF_RELATIVE_OID;
|
Move type operations to another structure
Every type has free, print, check_constraints, ber_decoder, der_encoder,
xer_decoder, xer_encoder, uper_decoder, uper_encoder and outmost_tag
operations. We move them out to a separate structure asn_TYPE_operation_t.
Combined with previous logic simplification, these operations are based
on ASN.1 basic types, constructed types and string types. So we can
reduce the space occupied by asn_TYPE_descriptor_t variables.
2017-08-19 17:25:45 +00:00
|
|
|
extern asn_TYPE_operation_t asn_OP_RELATIVE_OID;
|
2004-06-03 03:38:44 +00:00
|
|
|
|
|
|
|
asn_struct_print_f RELATIVE_OID_print;
|
2004-10-23 10:16:51 +00:00
|
|
|
xer_type_decoder_f RELATIVE_OID_decode_xer;
|
2004-09-22 16:06:28 +00:00
|
|
|
xer_type_encoder_f RELATIVE_OID_encode_xer;
|
2017-09-30 06:15:58 +00:00
|
|
|
asn_random_fill_f RELATIVE_OID_random_fill;
|
2004-06-03 03:38:44 +00:00
|
|
|
|
2016-05-16 05:50:09 +00:00
|
|
|
#define RELATIVE_OID_free ASN__PRIMITIVE_TYPE_free
|
2017-08-18 16:55:25 +00:00
|
|
|
#define RELATIVE_OID_compare OCTET_STRING_compare
|
2016-05-16 05:50:09 +00:00
|
|
|
#define RELATIVE_OID_constraint asn_generic_no_constraint
|
|
|
|
#define RELATIVE_OID_decode_ber ber_decode_primitive
|
|
|
|
#define RELATIVE_OID_encode_der der_encode_primitive
|
|
|
|
#define RELATIVE_OID_decode_uper OCTET_STRING_decode_uper
|
|
|
|
#define RELATIVE_OID_encode_uper OCTET_STRING_encode_uper
|
|
|
|
|
2004-06-03 03:38:44 +00:00
|
|
|
/**********************************
|
|
|
|
* Some handy conversion routines *
|
|
|
|
**********************************/
|
|
|
|
|
2004-06-14 07:24:36 +00:00
|
|
|
/* See OBJECT_IDENTIFIER_get_arcs() function in OBJECT_IDENTIFIER.h */
|
2014-07-23 23:06:01 +00:00
|
|
|
int RELATIVE_OID_get_arcs(const RELATIVE_OID_t *_roid,
|
2004-06-14 07:24:36 +00:00
|
|
|
void *arcs, unsigned int arc_type_size, unsigned int arc_slots);
|
2004-06-03 03:38:44 +00:00
|
|
|
|
2004-06-17 23:43:39 +00:00
|
|
|
/* See OBJECT_IDENTIFIER_set_arcs() function in OBJECT_IDENTIFIER.h */
|
|
|
|
int RELATIVE_OID_set_arcs(RELATIVE_OID_t *_roid,
|
|
|
|
void *arcs, unsigned int arc_type_size, unsigned int arcs_slots);
|
|
|
|
|
2005-07-24 09:03:44 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2004-06-03 03:38:44 +00:00
|
|
|
#endif /* _RELATIVE_OID_H_ */
|