2 * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4 * Redistribution and modifications are permitted subject to BSD license.
6 #include <asn_internal.h>
7 #include <asn_codecs_prim.h>
11 NULL_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
12 enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb,
14 asn_enc_rval_t er = {0,0,0};
23 /* XMLNullValue is empty */
29 static enum xer_pbd_rval
30 NULL__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr,
31 const void *chunk_buf, size_t chunk_size) {
34 (void)chunk_buf; /* Going to be empty according to the rules below. */
37 * There must be no content in self-terminating <NULL/> tag.
40 return XPBD_BROKEN_ENCODING;
42 return XPBD_BODY_CONSUMED;
46 NULL_decode_xer(const asn_codec_ctx_t *opt_codec_ctx,
47 const asn_TYPE_descriptor_t *td, void **sptr,
48 const char *opt_mname, const void *buf_ptr, size_t size) {
49 return xer_decode_primitive(opt_codec_ctx, td,
50 sptr, sizeof(NULL_t), opt_mname, buf_ptr, size,
51 NULL__xer_body_decode);