src/labeled_int_list.h
author Dirk Zimmermann <dz@pep.security>
Thu, 11 Apr 2019 10:46:46 +0200
branchIOS-1482
changeset 3505 3fe4b41696d3
parent 3004 079d0bf653be
permissions -rw-r--r--
IOS-1482 close branch
     1 // This file is under GNU General Public License 3.0
     2 // see LICENSE.txt
     3 
     4 #pragma once
     5 
     6 #include "dynamic_api.h"
     7 #include "stringpair.h"
     8 
     9 #ifdef __cplusplus
    10 extern "C" {
    11 #endif
    12 
    13 typedef struct _labeled_int_list_t {
    14     int value;
    15     char* label;                                // UTF-8 string, null-terminated
    16     struct _labeled_int_list_t *next;           // this is a single linked list
    17 } labeled_int_list_t;
    18 
    19 DYNAMIC_API labeled_int_list_t *new_labeled_int_list(int value, const char* label);
    20 
    21 DYNAMIC_API void free_labeled_int_list(labeled_int_list_t *labeled_int_list);
    22 
    23 DYNAMIC_API labeled_int_list_t *labeled_int_list_dup(const labeled_int_list_t *src);
    24 
    25 DYNAMIC_API labeled_int_list_t *labeled_int_list_add(labeled_int_list_t *labeled_int_list, int value, const char* label);
    26 
    27 DYNAMIC_API int labeled_int_list_length(const labeled_int_list_t *labeled_int_list);
    28 
    29 #ifdef __cplusplus
    30 }
    31 #endif