diff options
author | Harald Welte <laforge@gnumonks.org> | 2010-06-12 19:15:51 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-06-12 19:15:51 +0200 |
commit | 98cb83615d9b813dbb1f1199b9c52a00af2eb973 (patch) | |
tree | 6c6c15231efec86b35317403ea76f2e30d54ad88 /include/asn1c/UTF8String.h | |
parent | bdff5e63096fd9c2ff503cdc7da338286699ef1a (diff) |
move header files to 'include' directory and install them
Diffstat (limited to 'include/asn1c/UTF8String.h')
-rw-r--r-- | include/asn1c/UTF8String.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/include/asn1c/UTF8String.h b/include/asn1c/UTF8String.h new file mode 100644 index 0000000..3bc8ea6 --- /dev/null +++ b/include/asn1c/UTF8String.h @@ -0,0 +1,49 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin <vlm@lionet.info>. All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#ifndef _UTF8String_H_ +#define _UTF8String_H_ + +#include <OCTET_STRING.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OCTET_STRING_t UTF8String_t; /* Implemented via OCTET STRING */ + +extern asn_TYPE_descriptor_t asn_DEF_UTF8String; + +asn_struct_print_f UTF8String_print; +asn_constr_check_f UTF8String_constraint; + +/* + * Returns length of the given UTF-8 string in characters, + * or a negative error code: + * -1: UTF-8 sequence truncated + * -2: Illegal UTF-8 sequence start + * -3: Continuation expectation failed + * -4: Not minimal length encoding + * -5: Invalid arguments + */ +ssize_t UTF8String_length(const UTF8String_t *st); + +/* + * Convert the UTF-8 string into a sequence of wide characters. + * Returns the number of characters necessary. + * Returned value might be greater than dstlen. + * In case of conversion error, 0 is returned. + * + * If st points to a valid UTF-8 string, calling + * UTF8String_to_wcs(st, 0, 0); + * is equivalent to + * UTF8String_length(const UTF8String_t *st); + */ +size_t UTF8String_to_wcs(const UTF8String_t *st, uint32_t *dst, size_t dstlen); + +#ifdef __cplusplus +} +#endif + +#endif /* _UTF8String_H_ */ |