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