src/labeled_int_list.h
author Volker Birk <vb@pep-project.org>
Fri, 17 May 2019 17:59:06 +0200
branchsync
changeset 3720 9ed76a79d784
parent 3004 079d0bf653be
child 4792 7056435ab9e7
child 5246 67016f508d40
permissions -rw-r--r--
...
     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