/* Generated by autober: do not modify */ #ifndef _BIO_GROUP_H #define _BIO_GROUP_H #define BIO_HDR_TYPE (1<<0U) #define BIO_HDR_SUBTYPE (1<<1U) #define BIO_HDR_DATE (1<<2U) #define BIO_HDR_VALIDITY (1<<3U) #define BIO_HDR_CREATOR_PID (1<<4U) #define BIO_INF_BDB_TYPE_BDB_NC 1 #define BIO_INF_BDB_TYPE_BDB_C 2 /* Tags for Biometric Header Template */ #define TAG_BIO_HDR_VERS 0x0080 #define TAG_BIO_HDR_TYPE 0x0081 #define TAG_BIO_HDR_SUBTYPE 0x0082 #define TAG_BIO_HDR_DATE 0x0083 #define TAG_BIO_HDR_VALIDITY 0x0085 #define TAG_BIO_HDR_CREATOR_PID 0x0086 #define TAG_BIO_HDR_FORMAT_OWNER 0x0087 #define TAG_BIO_HDR_FORMAT_TYPE 0x0088 /* Tags for Biometric 'Information' Template */ #define TAG_BIO_INF_BIO_HDR 0x00a1 #define TAG_BIO_INF_BDB_NC 0x5f2e #define TAG_BIO_INF_BDB_C 0x7f2e /* Tags for Biometric Information Group Template */ #define TAG_BIO_GROUP_NUM_INSTANCES 0x0002 #define TAG_BIO_GROUP_BIO_INF 0x7f60 /* Tags for root level */ #define TAG_BIO_GROUP 0x7f61 struct bio_inf { struct bio_hdr { uint16_t vers; unsigned int _type_count; uint8_t type[3]; uint8_t subtype; uint8_t date[7]; uint8_t validity[8]; uint8_t creator_pid[2]; uint8_t format_owner[2]; uint8_t format_type[2]; unsigned int _present; }bio_hdr; unsigned int _bdb_type; union bdb { struct autober_blob bdb_nc; struct autober_blob bdb_c; }bdb; }; struct bio_group { uint8_t num_instances; struct bio_inf *bio_inf; unsigned int _bio_inf_count; }; struct bio_group *bio_group_decode(const uint8_t *ptr, size_t len); void bio_group_free(struct bio_group *bio_group); #endif /* _BIO_GROUP_H */