drop
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23181 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,67 +0,0 @@
|
|||||||
|
|
||||||
#include "der_locl.h"
|
|
||||||
|
|
||||||
enum prim_opcode {
|
|
||||||
HAP_BOOLEAN = 0
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef size_t (*op_length)(const void *);
|
|
||||||
typedef int (*op_get)(const unsigned char *, size_t, void *, size_t *);
|
|
||||||
typedef int (*op_put)(unsigned char *, size_t, const void *, size_t *);
|
|
||||||
typedef int (*op_release)(void *);
|
|
||||||
typedef int (*op_parse)(const char *, void *);
|
|
||||||
typedef size_t (*op_print)(const void *, char *, size_t);
|
|
||||||
|
|
||||||
/* flags */
|
|
||||||
#define OPTIONAL 1
|
|
||||||
|
|
||||||
struct op {
|
|
||||||
/* must implement */
|
|
||||||
int dertype;
|
|
||||||
const char *name;
|
|
||||||
size_t datasize;
|
|
||||||
op_length length;
|
|
||||||
op_get get;
|
|
||||||
op_put put;
|
|
||||||
op_release release;
|
|
||||||
/* may implement */
|
|
||||||
op_parse parse;
|
|
||||||
op_print print;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* primitive operatators */
|
|
||||||
|
|
||||||
struct op pops[] = {
|
|
||||||
{
|
|
||||||
UT_EndOfContent,
|
|
||||||
"EndOfContent"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
UT_Boolean,
|
|
||||||
"boolean",
|
|
||||||
sizeof(int),
|
|
||||||
(op_length)der_length_boolean,
|
|
||||||
(op_get)der_get_boolean,
|
|
||||||
(op_put)der_put_boolean,
|
|
||||||
(op_release)der_free_generic,
|
|
||||||
NULL,
|
|
||||||
NULL
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
int
|
|
||||||
asn1code_decode_type(unsigned int op,
|
|
||||||
const unsigned char *in, size_t len,
|
|
||||||
void *data, size_t *size);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
asn1code_decode_type(unsigned int op,
|
|
||||||
const unsigned char *in, size_t len,
|
|
||||||
void *data, size_t *size)
|
|
||||||
{
|
|
||||||
if (op > sizeof(pops)/sizeof(pops[0]))
|
|
||||||
return -1;
|
|
||||||
return (pops[op].get)(in, len, data, size);
|
|
||||||
}
|
|
Reference in New Issue
Block a user