584 OSCAP_API SEXP_t * SEXP_listref_rest(SEXP_t *list)
Get the rest of a list.
Definition: sexp-manip.c:1048
OSCAP_API SEXP_t * SEXP_list_first(const SEXP_t *list)
Get the first element of a list.
Definition: sexp-manip.c:982
OSCAP_API SEXP_t * SEXP_string_newf(const char *format,...) __attribute__((format(printf
Create a new sexp object from a format string.
Definition: sexp-manip.c:611
OSCAP_API SEXP_t * SEXP_list_add(SEXP_t *list, const SEXP_t *s_exp)
Add an element to a list.
Definition: sexp-manip.c:1186
OSCAP_API SEXP_t * SEXP_ref(const SEXP_t *s_exp)
Create a new reference to a sexp object.
Definition: sexp-manip.c:1613
OSCAP_API int64_t SEXP_number_geti_64(const SEXP_t *s_exp)
Get integer value from a sexp object.
Definition: sexp-manip.c:377
OSCAP_API bool SEXP_listp(const SEXP_t *s_exp)
Check whether the provided sexp object is a list.
Definition: sexp-manip.c:949
OSCAP_API SEXP_t * SEXP_list_nth(const SEXP_t *list, uint32_t n)
Get the n-th element of a list.
Definition: sexp-manip.c:1127
OSCAP_API int32_t SEXP_number_geti_32(const SEXP_t *s_exp)
Get integer value from a sexp object.
Definition: sexp-manip.c:267
OSCAP_API uint32_t SEXP_number_getu_32(const SEXP_t *s_exp)
Get unsigned integer value from a sexp object.
Definition: sexp-manip.c:316
OSCAP_API size_t SEXP_list_length(const SEXP_t *s_exp)
Get the length of the sexp list.
Definition: sexp-manip.c:961
OSCAP_API void SEXP_free(SEXP_t *s_exp)
Free a sexp object.
Definition: sexp-manip.c:1863
OSCAP_API SEXP_t * SEXP_number_newu_16(uint16_t n)
Create a new sexp object from an unsigned integer.
Definition: sexp-manip.c:200
OSCAP_API SEXP_t * SEXP_listref_last(SEXP_t *list)
Get the last element of a list.
Definition: sexp-manip.c:1121
OSCAP_API int SEXP_string_nth(const SEXP_t *s_exp, size_t n)
Get the n-th byte of a string.
Definition: sexp-manip.c:730
OSCAP_API SEXP_t * SEXP_number_newf(double n)
Create a new sexp object from an floating point value.
Definition: sexp-manip.c:517
OSCAP_API uint64_t SEXP_number_getu_64(const SEXP_t *s_exp)
Get unsigned integer value from a sexp object.
Definition: sexp-manip.c:431
Definition: _sexp-value.h:41
OSCAP_API int SEXP_refcmp(const SEXP_t *a, const SEXP_t *b)
Compare reference pointers.
Definition: sexp-manip.c:1737
OSCAP_API size_t SEXP_string_cstr_r(const SEXP_t *s_exp, char *buf, size_t len) __attribute__((nonnull(2)))
Get a C string from a sexp object.
Definition: sexp-manip.c:786
OSCAP_API uint8_t SEXP_number_getu_8(const SEXP_t *s_exp)
Get unsigned integer value from a sexp object.
Definition: sexp-manip.c:146
OSCAP_API SEXP_t * SEXP_number_newu_64(uint64_t n)
Create a new sexp object from an unsigned integer.
Definition: sexp-manip.c:421
OSCAP_API char * SEXP_string_cstr(const SEXP_t *s_exp)
Get a C string from a sexp object.
Definition: sexp-manip.c:756
OSCAP_API char * SEXP_string_cstrp(const SEXP_t *s_exp)
Obsolete function.
Definition: sexp-manip.c:861
OSCAP_API char * SEXP_string_subcstr(const SEXP_t *s_exp, size_t beg, size_t len)
Get a C substring from a sexp object.
Definition: sexp-manip.c:815
OSCAP_API void SEXP_list_free(SEXP_t *s_exp)
Free the specified sexp object.
Definition: sexp-manip.c:943
OSCAP_API void SEXP_string_free(SEXP_t *s_exp)
Free the specified sexp object.
Definition: sexp-manip.c:624
OSCAP_API SEXP_t * SEXP_list_new(SEXP_t *memb,...)
Create a new sexp list, optionally initialized with the provided sexp arguments.
Definition: sexp-manip.c:927
OSCAP_API uint32_t SEXP_refs(const SEXP_t *ref)
Return the value of the reference counter.
Definition: sexp-manip.c:1713
OSCAP_API SEXP_t * SEXP_number_newi_8(int8_t n)
Create a new sexp object from an integer.
Definition: sexp-manip.c:102
OSCAP_API SEXP_t * SEXP_number_newb(bool n)
Create a new sexp object from a boolean value.
Definition: sexp-manip.c:92
Definition: sexp-manip.c:1319
OSCAP_API int SEXP_number_get(const SEXP_t *s_exp, void *dst, SEXP_numtype_t type)
Get a value from a sexp object according to a specified type.
Definition: sexp-manip.c:550
OSCAP_API const char * SEXP_strtype(const SEXP_t *s_exp)
Get a text description of the sexp object's type.
Definition: sexp-manip.c:1972
OSCAP_API SEXP_t * SEXP_number_newi_32(int32_t n)
Create a new sexp object from an integer.
Definition: sexp-manip.c:257
OSCAP_API int SEXP_string_cmp(const SEXP_t *str_a, const SEXP_t *str_b)
Compare two sexp strings.
Definition: sexp-manip.c:873
OSCAP_API SEXP_t * SEXP_string_new(const void *string, size_t strlen) __attribute__((nonnull(1)))
Create a new sexp object from a string.
Definition: sexp-manip.c:601
OSCAP_API SEXP_t * SEXP_listref_nth(SEXP_t *list, uint32_t n)
Get the n-th element of a list.
Definition: sexp-manip.c:1156
OSCAP_API uint16_t SEXP_number_getu_16(const SEXP_t *s_exp)
Get unsigned integer value from a sexp object.
Definition: sexp-manip.c:222
OSCAP_API SEXP_type_t SEXP_typeof(const SEXP_t *s_exp)
Get the type of a sexp object.
Definition: sexp-manip.c:1955
OSCAP_API SEXP_t * SEXP_number_newi_64(int64_t n)
Create a new sexp object from an integer.
Definition: sexp-manip.c:355
OSCAP_API SEXP_t * SEXP_list_replace(SEXP_t *list, uint32_t n, const SEXP_t *s_exp)
Replace the n-th element of a list.
Definition: sexp-manip.c:1081
OSCAP_API SEXP_numtype_t SEXP_number_type(const SEXP_t *sexp)
Get the number type of an object.
Definition: sexp-manip.c:576
OSCAP_API int SEXP_strcmp(const SEXP_t *s_exp, const char *str) __attribute__((nonnull(2)))
Compare a string in a sexp object with a C string.
Definition: sexp-manip.c:663
OSCAP_API int SEXP_datatype_set_nth(SEXP_t *list, uint32_t n, const char *name) __attribute__((nonnull(3)))
Set the user data type of the nth sexp object in a list.
Definition: sexp-manip.c:1915
OSCAP_API double SEXP_number_getf(const SEXP_t *s_exp)
Get floating point value from a sexp object.
Definition: sexp-manip.c:527
OSCAP_API SEXP_t * SEXP_list_last(const SEXP_t *list)
Get the last element of a list.
Definition: sexp-manip.c:1054
OSCAP_API SEXP_t * SEXP_number_newu_32(uint32_t n)
Create a new sexp object from an unsigned integer.
Definition: sexp-manip.c:306
OSCAP_API SEXP_t * SEXP_list_sort(SEXP_t *list, int(*compare)(const SEXP_t *, const SEXP_t *))
Sort a list using ‘compare’ as the comparison function.
Definition: sexp-manip.c:1374
OSCAP_API bool SEXP_stringp(const SEXP_t *s_exp)
Check whether the provided sexp object is a string.
Definition: sexp-manip.c:630
OSCAP_API SEXP_t * SEXP_number_newi_16(int16_t n)
Create a new sexp object from an integer.
Definition: sexp-manip.c:178
Definition: sexp-types.h:82
OSCAP_API size_t SEXP_string_length(const SEXP_t *s_exp)
Get the length of a string in a sexp object.
Definition: sexp-manip.c:642
OSCAP_API SEXP_t * SEXP_list_push(SEXP_t *list, const SEXP_t *s_exp)
Push an element to the head of a list.
Definition: sexp-manip.c:1264
OSCAP_API SEXP_t * SEXP_number_newu_8(uint8_t n)
Create a new sexp object from an unsigned integer.
Definition: sexp-manip.c:124
OSCAP_API const char * SEXP_datatype(const SEXP_t *s_exp)
Get the user data type of a sexp object.
Definition: sexp-manip.c:1872
OSCAP_API SEXP_t * SEXP_list_pop(SEXP_t *list)
Extract the first element of a list.
Definition: sexp-manip.c:1272
OSCAP_API void SEXP_number_free(SEXP_t *s_exp)
Free the specified sexp object.
Definition: sexp-manip.c:557
OSCAP_API SEXP_t * SEXP_list_join(const SEXP_t *list_a, const SEXP_t *list_b)
Create a new list containing the concatenated contents of two lists.
Definition: sexp-manip.c:1238
OSCAP_API SEXP_t * SEXP_softref(SEXP_t *s_exp)
Create a new soft reference to a sexp object.
Definition: sexp-manip.c:1673
OSCAP_API int SEXP_datatype_set(SEXP_t *s_exp, const char *name) __attribute__((nonnull(2)))
Set the user data type of a sexp object.
Definition: sexp-manip.c:1888
OSCAP_API bool SEXP_string_getb(const SEXP_t *s_exp)
Try to cast the supplied sexp string to a boolean.
Definition: sexp-manip.c:897
OSCAP_API int SEXP_strncmp(const SEXP_t *s_exp, const char *str, size_t n) __attribute__((nonnull(2)))
Compare a string in a sexp object with a C string.
Definition: sexp-manip.c:696
OSCAP_API SEXP_t * SEXP_listref_first(SEXP_t *list)
Get the first element of a list.
Definition: sexp-manip.c:1007
OSCAP_API bool SEXP_number_getb(const SEXP_t *s_exp)
Get boolean value from a sexp object.
Definition: sexp-manip.c:474
OSCAP_API SEXP_t * SEXP_list_rest(const SEXP_t *list)
Get the rest of a list.
Definition: sexp-manip.c:1035
OSCAP_API SEXP_t * SEXP_number_new(SEXP_numtype_t t, const void *n) __attribute__((nonnull(2)))
Create a new sexp object from a value and a number type.
Definition: sexp-manip.c:57
OSCAP_API bool SEXP_numberp(const SEXP_t *s_exp)
Check whether the provided sexp object is a number.
Definition: sexp-manip.c:563
OSCAP_API bool SEXP_softrefp(const SEXP_t *s_exp)
Check whether an S-exp reference is a "soft" reference.
Definition: sexp-manip.c:1703