/* @(#)$Id: sb_imp.h,v 1.6 2006/06/16 19:12:20 hurtta Exp $ */
/******************************************************************************
* The Elm (ME+) Mail System - $Revision: 1.6 $ $State: Exp $
*
* Author: Kari Hurtta <hurtta+elm@posti.FMI.FI> (was hurtta+elm@ozone.FMI.FI)
*****************************************************************************/
struct sb_in_file {
char * filename;
FILE * fh;
int offset_count;
long * offsets;
};
struct sb_in_mem {
int string_count;
struct string ** strings;
};
struct sb_private_data {
union {
struct sb_in_file file;
struct sb_in_mem mem;
} a;
};
typedef int sb_init_buffer P_((struct stringbuffer *buffer));
typedef void sb_free_buffer P_((struct stringbuffer *buffer));
typedef void sb_add_line_to_stringbuffer P_((struct stringbuffer *buffer,
const struct string *string));
typedef int sb_linecount_stringbuffer P_((const struct stringbuffer *ptr));
typedef struct string *sb_get_line_from_stringbuffer P_((const struct
stringbuffer *buffer,
int ptr));
struct sb_type {
sb_init_buffer * sb_init_it;
sb_free_buffer * sb_free_it;
sb_add_line_to_stringbuffer * sb_add_line_to_it;
sb_linecount_stringbuffer * sb_linecount_it;
sb_get_line_from_stringbuffer * sb_get_line_from_it;
};
extern struct sb_type sb_in_mem;
extern struct sb_type sb_in_file;
/*
* Local Variables:
* mode:c
* c-basic-offset:4
* buffer-file-coding-system: iso-8859-1
* End:
*/
syntax highlighted by Code2HTML, v. 0.9.1