1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /* This program is licensed under the GNU Library General Public License, version 2,
- * a copy of which is included with this program (with filename LICENSE.LGPL).
- *
- * (c) 2000-2001 Michael Smith <[email protected]>
- *
- * VCEdit header.
- *
- * last modified: $ID:$
- */
- #ifndef __VCEDIT_H
- #define __VCEDIT_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include <stdio.h>
- #include <ogg/ogg.h>
- #include <vorbis/codec.h>
- typedef size_t (*vcedit_read_func)(void *, size_t, size_t, void *);
- typedef size_t (*vcedit_write_func)(const void *, size_t, size_t, void *);
- typedef struct {
- ogg_sync_state *oy;
- ogg_stream_state *os;
- vorbis_comment *vc;
- vorbis_info *vi;
- vcedit_read_func read;
- vcedit_write_func write;
- void *in;
- long serial;
- unsigned char *mainbuf;
- unsigned char *bookbuf;
- int mainlen;
- int booklen;
- char *lasterror;
- char *vendor;
- int prevW;
- int extrapage;
- int eosin;
- } vcedit_state;
- extern vcedit_state * vcedit_new_state(void);
- extern void vcedit_clear(vcedit_state *state);
- extern vorbis_comment * vcedit_comments(vcedit_state *state);
- extern int vcedit_open(vcedit_state *state, FILE *in);
- extern int vcedit_open_callbacks(vcedit_state *state, void *in,
- vcedit_read_func read_func, vcedit_write_func write_func);
- extern int vcedit_write(vcedit_state *state, void *out);
- extern char * vcedit_error(vcedit_state *state);
- #ifdef __cplusplus
- }
- #endif
- #endif /* __VCEDIT_H */
|