1 /* buffer-set.h: 2 * 3 **************************************************************** 4 * Copyright (C) 2004 Tom Lord 5 * 6 * See the file "COPYING" for further information about 7 * the copyright and warranty status of this work. 8 */ 9 10 #ifndef INCLUDE__LIBAWIKI__BUFFER_SET_H 11 #define INCLUDE__LIBAWIKI__BUFFER_SET_H 12 13 14 #include "hackerlab/identifiers/symbol-table.h" 15 #include "hackerlab/properties/property.h" 16 #include "hackerlab/buffers/buffer.h" 17 18 19 20 typedef struct buffer_set t_buffer_set; 21 22 23 24 struct buffer_set 25 { 26 t_symbol_table _buffers; 27 alloc_limits _limits; 28 ssize_t _representation_type; 29 t_property_table _property_table; 30 }; 31 32 33 34 /* automatically generated __STDC__ prototypes */ 35 extern int init_buffer_set (t_buffer_set * const bs, 36 alloc_limits const limits, 37 ssize_t const representation_type); 38 extern int uninit_buffer_set (t_buffer_set * const bs); 39 extern alloc_limits buffer_set_limits (t_buffer_set * const bs); 40 extern ssize_t buffer_set_representation_type (t_buffer_set * const bs); 41 extern ssize_t buffer_set_n_entries (t_buffer_set * const bs); 42 extern ssize_t buffer_set_room (t_buffer_set * const bs); 43 extern t_buffer * buffer_set_buffer_n (const t_uchar ** const name_ret, 44 t_buffer_set * const bs, 45 ssize_t const n); 46 extern t_buffer * buffer_set_nth_buffer (const t_uchar ** const name_ret, 47 t_buffer_set * bs, 48 ssize_t n); 49 extern t_buffer * buffer_set_find (t_buffer_set * const bs, 50 const t_uchar * const name); 51 extern t_buffer * buffer_set_ensure (t_buffer_set * const bs, 52 const t_uchar * const name); 53 extern ssize_t buffer_set_index (t_buffer_set * const bs, 54 const t_uchar * const name); 55 extern int buffer_set_delete (t_buffer_set * const bs, 56 const t_uchar * const name); 57 extern int buffer_set_delete_nth (t_buffer_set * const bs, 58 ssize_t const n); 59 extern void * buffer_set_property_soft_ref (t_buffer_set * const bs, 60 ssize_t const elt_size, 61 ssize_t const buffer, 62 ssize_t const global_property_id); 63 extern void * buffer_set_property_ref (t_buffer_set * const bs, 64 ssize_t const elt_size, 65 ssize_t const buffer, 66 ssize_t const global_property_id, 67 t_property_type * const type); 68 #endif /* INCLUDE__LIBAWIKI__BUFFER_SET_H */ 69 70 71 /* tag: Tom Lord Wed Oct 27 12:29:30 2004 (buffer-set.h) 72 */ 73