]> git.donarmstrong.com Git - lilypond.git/blob - flower/include/file-cookie.hh
Issue 4550 (2/2) Avoid "using namespace std;" in included files
[lilypond.git] / flower / include / file-cookie.hh
1 #ifdef __cplusplus
2 extern "C" {
3 #endif
4
5 #include <unistd.h>
6
7 #include <cstdio>
8
9 #if (! defined (__off64_t) && ! defined (__off64_t_defined)) || ! defined (__cplusplus)
10 #define off64_t unsigned long long
11 #endif
12
13   typedef struct
14   {
15     ssize_t (*read) (void *, char *, size_t);
16     ssize_t (*write) (void *, char const *, size_t);
17     ssize_t (*seek) (void *, off64_t *, size_t);
18     ssize_t (*close) (void *);
19   } lily_cookie_io_functions_t;
20
21   void *lily_fopencookie (void *cookie, char const *modes,
22                           lily_cookie_io_functions_t io_funcs);
23
24   ssize_t lily_cookie_fclose (void *);
25   ssize_t lily_cookie_fprintf (void *file, char const *format, ...)
26   __attribute__ ((format (printf, 2, 3)));
27   ssize_t lily_cookie_putc (int c, void *file);
28
29 #ifdef __cplusplus
30 } /* extern "C" */
31 #endif