/usr/include/sml/sml_value.h is in libsml-dev 0.1.1+git20170608-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | // Copyright 2011 Juri Glass, Mathias Runge, Nadim El Sayed
// DAI-Labor, TU-Berlin
//
// This file is part of libSML.
//
// libSML is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// libSML is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with libSML. If not, see <http://www.gnu.org/licenses/>.
#ifndef SML_VALUE_H_
#define SML_VALUE_H_
#include "sml_shared.h"
#include "sml_octet_string.h"
#include "sml_number.h"
#include "sml_boolean.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
u8 type;
union {
sml_boolean *boolean;
octet_string *bytes; // can have zero length
i8 *int8;
i16 *int16;
i32 *int32;
i64 *int64;
u8 *uint8;
u16 *uint16;
u32 *uint32;
u64 *uint64;
} data;
} sml_value;
sml_value *sml_value_init();
sml_value *sml_value_parse(sml_buffer *buf);
void sml_value_write(sml_value *value, sml_buffer *buf);
void sml_value_free(sml_value *value);
// Cast arbitrary sized sml_value to double
double sml_value_to_double(sml_value *value);
#ifdef __cplusplus
}
#endif
#endif /* SML_VALUE_H_ */
|