diff options
Diffstat (limited to 'Build/source/texk/web2c/mfluadir/otfcc/lib/libcff/cff-fdselect.h')
-rw-r--r-- | Build/source/texk/web2c/mfluadir/otfcc/lib/libcff/cff-fdselect.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/mfluadir/otfcc/lib/libcff/cff-fdselect.h b/Build/source/texk/web2c/mfluadir/otfcc/lib/libcff/cff-fdselect.h new file mode 100644 index 00000000000..f67cbd46e47 --- /dev/null +++ b/Build/source/texk/web2c/mfluadir/otfcc/lib/libcff/cff-fdselect.h @@ -0,0 +1,48 @@ +#ifndef CARYLL_cff_FDSELECT_H +#define CARYLL_cff_FDSELECT_H + +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "support/util.h" +#include "cff-util.h" +#include "cff-value.h" + +enum { + cff_FDSELECT_FORMAT0, + cff_FDSELECT_FORMAT3, + cff_FDSELECT_UNSPECED, +}; + +typedef struct { + uint8_t format; + uint8_t *fds; +} cff_FDSelectFormat0; + +typedef struct { + uint16_t first; + uint8_t fd; +} cff_FDSelectRangeFormat3; + +typedef struct { + uint8_t format; + uint16_t nranges; + cff_FDSelectRangeFormat3 *range3; + uint16_t sentinel; +} cff_FDSelectFormat3; + +typedef struct { + uint32_t t; + uint32_t s; + union { + cff_FDSelectFormat0 f0; + cff_FDSelectFormat3 f3; + }; +} cff_FDSelect; + +void cff_close_FDSelect(cff_FDSelect fds); +void cff_extract_FDSelect(uint8_t *data, int32_t offset, uint16_t nchars, cff_FDSelect *fdselect); +caryll_Buffer *cff_build_FDSelect(cff_FDSelect fd); + +#endif |