diff options
Diffstat (limited to 'serd/serd.h')
-rw-r--r-- | serd/serd.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/serd/serd.h b/serd/serd.h index 1e7da13c..5c802a79 100644 --- a/serd/serd.h +++ b/serd/serd.h @@ -191,13 +191,18 @@ typedef enum { } SerdNodeFlag; /** + Bitwise OR of SerdNodeFlag values. +*/ +typedef uint32_t SerdNodeFlags; + +/** A syntactic RDF node. */ typedef struct { const uint8_t* buf; /**< Value string */ size_t n_bytes; /**< Size in bytes (including null) */ size_t n_chars; /**< Length in characters */ - uint32_t flags; /**< Bitwise OR of SerdNodeFlag values */ + SerdNodeFlags flags; /**< String properties */ SerdType type; /**< Node type */ } SerdNode; @@ -241,6 +246,17 @@ typedef enum { } SerdStyle; /** + UTF-8 strlen. + @return Length of @c str in characters. + @param str A null-terminated UTF-8 string. + @param n_bytes (Output) Set to the size of @a str in bytes (incl. NULL). + @param flags (Output) Set to the applicable flags. +*/ +SERD_API +size_t +serd_strlen(const uint8_t* str, size_t* n_bytes, SerdNodeFlags* flags); + +/** @name URI @{ */ |