1 /* 2 * Copyright (C) 2020-2021 Jo-Philipp Wich <jo@mein.io> 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 #ifndef UCODE_VALUE_H 18 #define UCODE_VALUE_H 19 20 #include <stdint.h> 21 #include <stddef.h> 22 #include <stdbool.h> 23 #include <stdio.h> 24 25 #include "types.h" 26 27 typedef enum { 28 TAG_INVAL = 0, 29 TAG_NUM = 1, 30 TAG_LNUM = 2, 31 TAG_DBL = 3, 32 TAG_STR = 4, 33 TAG_LSTR = 5 34 } uc_value_type_t; 35 36 __hidden uc_value_t *uc_number_parse(const char *buf, char **end); 37 __hidden uc_value_t *uc_number_parse_octal(const char *buf, char **end); 38 39 bool uc_double_pack(double d, char *buf, bool little_endian); 40 double uc_double_unpack(const char *buf, bool little_endian); 41 42 __hidden void uc_vallist_init(uc_value_list_t *list); 43 __hidden void uc_vallist_free(uc_value_list_t *list); 44 45 __hidden ssize_t uc_vallist_add(uc_value_list_t *list, uc_value_t *value); 46 __hidden uc_value_type_t uc_vallist_type(uc_value_list_t *list, size_t idx); 47 __hidden uc_value_t *uc_vallist_get(uc_value_list_t *list, size_t idx); 48 49 #endif /* UCODE_VALUE_H */ 50
This page was automatically generated by LXR 0.3.1. • OpenWrt