blob: 2863896b6acf813759bb5337af68c579f05c4b74 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001/*-
2 * Copyright (c) 2003, 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
3 * Redistribution and modifications are permitted subject to BSD license.
4 */
5#ifndef _RELATIVE_OID_H_
6#define _RELATIVE_OID_H_
7
Lev Walkinf15320b2004-06-03 03:38:44 +00008#include <OBJECT_IDENTIFIER.h>
9
Lev Walkin21b41ac2005-07-24 09:03:44 +000010#ifdef __cplusplus
11extern "C" {
12#endif
13
Lev Walkin11c3e172004-09-24 21:00:50 +000014/* Implemented via OBJECT IDENTIFIER */
Lev Walkinf15320b2004-06-03 03:38:44 +000015typedef OBJECT_IDENTIFIER_t RELATIVE_OID_t;
16
Lev Walkin5e033762004-09-29 13:26:15 +000017extern asn_TYPE_descriptor_t asn_DEF_RELATIVE_OID;
Lev Walkinf15320b2004-06-03 03:38:44 +000018
19asn_struct_print_f RELATIVE_OID_print;
Lev Walkin92302252004-10-23 10:16:51 +000020xer_type_decoder_f RELATIVE_OID_decode_xer;
Lev Walkina9cc46e2004-09-22 16:06:28 +000021xer_type_encoder_f RELATIVE_OID_encode_xer;
Lev Walkinf15320b2004-06-03 03:38:44 +000022
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080023#define RELATIVE_OID_free ASN__PRIMITIVE_TYPE_free
Bi-Ruei, Chiue1bf2192017-08-19 00:55:25 +080024#define RELATIVE_OID_compare OCTET_STRING_compare
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080025#define RELATIVE_OID_constraint asn_generic_no_constraint
26#define RELATIVE_OID_decode_ber ber_decode_primitive
27#define RELATIVE_OID_encode_der der_encode_primitive
28#define RELATIVE_OID_decode_uper OCTET_STRING_decode_uper
29#define RELATIVE_OID_encode_uper OCTET_STRING_encode_uper
30
Lev Walkinf15320b2004-06-03 03:38:44 +000031/**********************************
32 * Some handy conversion routines *
33 **********************************/
34
Lev Walkin29a044b2004-06-14 07:24:36 +000035/* See OBJECT_IDENTIFIER_get_arcs() function in OBJECT_IDENTIFIER.h */
Wim Lewis14e6b162014-07-23 16:06:01 -070036int RELATIVE_OID_get_arcs(const RELATIVE_OID_t *_roid,
Lev Walkin29a044b2004-06-14 07:24:36 +000037 void *arcs, unsigned int arc_type_size, unsigned int arc_slots);
Lev Walkinf15320b2004-06-03 03:38:44 +000038
Lev Walkin0787ff02004-06-17 23:43:39 +000039/* See OBJECT_IDENTIFIER_set_arcs() function in OBJECT_IDENTIFIER.h */
40int RELATIVE_OID_set_arcs(RELATIVE_OID_t *_roid,
41 void *arcs, unsigned int arc_type_size, unsigned int arcs_slots);
42
Lev Walkin21b41ac2005-07-24 09:03:44 +000043#ifdef __cplusplus
44}
45#endif
46
Lev Walkinf15320b2004-06-03 03:38:44 +000047#endif /* _RELATIVE_OID_H_ */