"Fossies" - the Fresh Open Source Software Archive

Member "mod_auth_gssapi-1.6.3/src/asn1c/OCTET_STRING.h" (15 Mar 2017, 2819 Bytes) of package /linux/www/apache_httpd_modules/mod_auth_gssapi-1.6.3.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "OCTET_STRING.h" see the Fossies "Dox" file reference documentation.

    1 /*-
    2  * Copyright (c) 2003 Lev Walkin <vlm@lionet.info>. All rights reserved.
    3  * Redistribution and modifications are permitted subject to BSD license.
    4  */
    5 #ifndef _OCTET_STRING_H_
    6 #define _OCTET_STRING_H_
    7 
    8 #include <asn_application.h>
    9 
   10 #ifdef __cplusplus
   11 extern "C" {
   12 #endif
   13 
   14 typedef struct OCTET_STRING {
   15     uint8_t *buf;   /* Buffer with consecutive OCTET_STRING bits */
   16     int size;   /* Size of the buffer */
   17 
   18     asn_struct_ctx_t _asn_ctx;  /* Parsing across buffer boundaries */
   19 } OCTET_STRING_t;
   20 
   21 extern asn_TYPE_descriptor_t asn_DEF_OCTET_STRING;
   22 
   23 asn_struct_free_f OCTET_STRING_free;
   24 asn_struct_print_f OCTET_STRING_print;
   25 asn_struct_print_f OCTET_STRING_print_utf8;
   26 ber_type_decoder_f OCTET_STRING_decode_ber;
   27 der_type_encoder_f OCTET_STRING_encode_der;
   28 xer_type_decoder_f OCTET_STRING_decode_xer_hex;     /* Hexadecimal */
   29 xer_type_decoder_f OCTET_STRING_decode_xer_binary;  /* 01010111010 */
   30 xer_type_decoder_f OCTET_STRING_decode_xer_utf8;    /* ASCII/UTF-8 */
   31 xer_type_encoder_f OCTET_STRING_encode_xer;
   32 xer_type_encoder_f OCTET_STRING_encode_xer_utf8;
   33 per_type_decoder_f OCTET_STRING_decode_uper;
   34 per_type_encoder_f OCTET_STRING_encode_uper;
   35 
   36 /******************************
   37  * Handy conversion routines. *
   38  ******************************/
   39 
   40 /*
   41  * This function clears the previous value of the OCTET STRING (if any)
   42  * and then allocates a new memory with the specified content (str/size).
   43  * If size = -1, the size of the original string will be determined
   44  * using strlen(str).
   45  * If str equals to NULL, the function will silently clear the
   46  * current contents of the OCTET STRING.
   47  * Returns 0 if it was possible to perform operation, -1 otherwise.
   48  */
   49 int OCTET_STRING_fromBuf(OCTET_STRING_t *s, const char *str, int size);
   50 
   51 /* Handy conversion from the C string into the OCTET STRING. */
   52 #define OCTET_STRING_fromString(s, str) OCTET_STRING_fromBuf(s, str, -1)
   53 
   54 /*
   55  * Allocate and fill the new OCTET STRING and return a pointer to the newly
   56  * allocated object. NULL is permitted in str: the function will just allocate
   57  * empty OCTET STRING.
   58  */
   59 OCTET_STRING_t *OCTET_STRING_new_fromBuf(asn_TYPE_descriptor_t *td,
   60     const char *str, int size);
   61 
   62 /****************************
   63  * Internally useful stuff. *
   64  ****************************/
   65 
   66 typedef struct asn_OCTET_STRING_specifics_s {
   67     /*
   68      * Target structure description.
   69      */
   70     int struct_size;    /* Size of the structure */
   71     int ctx_offset;     /* Offset of the asn_struct_ctx_t member */
   72 
   73     enum asn_OS_Subvariant {
   74         ASN_OSUBV_ANY,  /* The open type (ANY) */
   75         ASN_OSUBV_BIT,  /* BIT STRING */
   76         ASN_OSUBV_STR,  /* String types, not {BMP,Universal}String  */
   77         ASN_OSUBV_U16,  /* 16-bit character (BMPString) */
   78         ASN_OSUBV_U32   /* 32-bit character (UniversalString) */
   79     } subvariant;
   80 } asn_OCTET_STRING_specifics_t;
   81 
   82 #ifdef __cplusplus
   83 }
   84 #endif
   85 
   86 #endif  /* _OCTET_STRING_H_ */