/[mailutils]/mailutils/include/mailutils/libsieve.h
ViewVC logotype

Diff of /mailutils/include/mailutils/libsieve.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by gray, Fri Nov 15 14:37:09 2002 UTC revision 1.7 by gray, Mon Nov 18 17:07:31 2002 UTC
# Line 15  Line 15 
15     along with this program; if not, write to the Free Software     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
17    
18    #ifndef _MAILUTILS_LIBSIEVE_H
19    #define _MAILUTILS_LIBSIEVE_H
20    
21  #include <sys/types.h>  #include <sys/types.h>
22  #include <stdarg.h>  #include <stdarg.h>
23  #include <mailutils/mailutils.h>  #include <mailutils/mailutils.h>
24    
25    #ifdef __cplusplus
26    extern "C" {
27    #endif
28    
29  typedef struct sieve_machine *sieve_machine_t;  typedef struct sieve_machine *sieve_machine_t;
30    
31  typedef int (*sieve_handler_t) __PMT((sieve_machine_t mach,  typedef int (*sieve_handler_t) __PMT((sieve_machine_t mach,
# Line 100  typedef struct { Line 107  typedef struct {
107    
108  extern int sieve_yydebug;  extern int sieve_yydebug;
109    
110    /* Memory allocation functions */
111  void *sieve_alloc __P((size_t size));  void *sieve_alloc __P((size_t size));
112  void *sieve_palloc __P((list_t *pool, size_t size));  void *sieve_palloc __P((list_t *pool, size_t size));
113  void *sieve_prealloc __P((list_t *pool, void *ptr, size_t size));  void *sieve_prealloc __P((list_t *pool, void *ptr, size_t size));
114  void sieve_pfree __P((list_t *pool, void *ptr));  void sieve_pfree __P((list_t *pool, void *ptr));
115  char *sieve_pstrdup __P((list_t *pool, const char *str));  char *sieve_pstrdup __P((list_t *pool, const char *str));
116    
117  int sieve_compile __P((sieve_machine_t mach, const char *name));  sieve_value_t *sieve_value_create __P((sieve_data_type type, void *data));
118    void sieve_slist_destroy __P((list_t *plist));
 sieve_value_t * sieve_value_create __P((sieve_data_type type, void *data));  
119    
120    /* Symbol space functions */
121  sieve_register_t *sieve_test_lookup __P((const char *name));  sieve_register_t *sieve_test_lookup __P((const char *name));
122  sieve_register_t *sieve_action_lookup __P((const char *name));  sieve_register_t *sieve_action_lookup __P((const char *name));
123  int sieve_register_test __P((const char *name, sieve_handler_t handler,  int sieve_register_test __P((const char *name, sieve_handler_t handler,
# Line 118  int sieve_register_test __P((const char Line 126  int sieve_register_test __P((const char
126  int sieve_register_action __P((const char *name, sieve_handler_t handler,  int sieve_register_action __P((const char *name, sieve_handler_t handler,
127                                 sieve_data_type *arg_types,                                 sieve_data_type *arg_types,
128                                 sieve_tag_group_t *tags, int required));                                 sieve_tag_group_t *tags, int required));
129    int sieve_register_comparator __P((const char *name,
130                                       int required,
131                                       sieve_comparator_t is,
132                                       sieve_comparator_t contains,
133                                       sieve_comparator_t matches,
134                                       sieve_comparator_t regex));
135    sieve_comparator_t sieve_comparator_lookup __P((const char *name,
136                                                    int matchtype));
137    
138  void sieve_slist_destroy __P((list_t *plist));  sieve_comparator_t sieve_get_comparator __P((list_t tags));
139  void sieve_require __P((list_t slist));  void sieve_require __P((list_t slist));
140    
141  void sieve_abort __P((sieve_machine_t mach));  /* Operations in value lists */
142    sieve_value_t *sieve_value_get __P((list_t vlist, size_t index));
143    int sieve_vlist_do __P((sieve_value_t *val, list_action_t *ac, void *data));
144    int sieve_vlist_compare __P((sieve_value_t *a, sieve_value_t *b,
145                                 sieve_comparator_t comp, sieve_retrieve_t ac,
146                                 void *data));
147    
148    /* Functions to create and destroy sieve machine */
149    int sieve_machine_init __P((sieve_machine_t *mach, void *data));
150    void sieve_machine_destroy __P((sieve_machine_t *pmach));
151    int sieve_machine_add_destructor __P((sieve_machine_t mach,
152                                          sieve_destructor_t destr,
153                                          void *ptr));
154    
155    /* Functions for accessing sieve machine internals */
156  void *sieve_get_data __P((sieve_machine_t mach));  void *sieve_get_data __P((sieve_machine_t mach));
157  message_t sieve_get_message __P((sieve_machine_t mach));  message_t sieve_get_message __P((sieve_machine_t mach));
158  size_t sieve_get_message_num __P((sieve_machine_t mach));  size_t sieve_get_message_num __P((sieve_machine_t mach));
159  int sieve_get_debug_level __P((sieve_machine_t mach));  int sieve_get_debug_level __P((sieve_machine_t mach));
160  ticket_t sieve_get_ticket __P((sieve_machine_t mach));  ticket_t sieve_get_ticket __P((sieve_machine_t mach));
161    mailer_t sieve_get_mailer __P((sieve_machine_t mach));
162    char *sieve_get_daemon_email __P((sieve_machine_t mach));
163    
164    void sieve_set_error __P((sieve_machine_t mach, sieve_printf_t error_printer));
165    void sieve_set_parse_error __P((sieve_machine_t mach, sieve_parse_error_t p));
166    void sieve_set_debug __P((sieve_machine_t mach, sieve_printf_t debug));
167    void sieve_set_debug_level __P((sieve_machine_t mach, mu_debug_t dbg,
168                                    int level));
169    void sieve_set_logger __P((sieve_machine_t mach, sieve_action_log_t logger));
170    void sieve_set_ticket __P((sieve_machine_t mach, ticket_t ticket));
171    void sieve_set_mailer __P((sieve_machine_t mach, mailer_t mailer));
172    void sieve_set_daemon_email __P((sieve_machine_t mach, const char *email));
173    
174    /* Logging and diagnostic functions */
175    
176  void sieve_error __P((sieve_machine_t mach, const char *fmt, ...));  void sieve_error __P((sieve_machine_t mach, const char *fmt, ...));
177  void sieve_debug __P((sieve_machine_t mach, const char *fmt, ...));  void sieve_debug __P((sieve_machine_t mach, const char *fmt, ...));
178  void sieve_log_action __P((sieve_machine_t mach, const char *action,  void sieve_log_action __P((sieve_machine_t mach, const char *action,
179                             const char *fmt, ...));                             const char *fmt, ...));
180    void sieve_abort __P((sieve_machine_t mach));
181    
 int sieve_mailbox __P((sieve_machine_t mach, mailbox_t mbox));  
 int sieve_disass __P((sieve_machine_t mach));  
   
 int sieve_machine_init __P((sieve_machine_t *mach, void *data));  
 void sieve_machine_destroy __P((sieve_machine_t *pmach));  
 int sieve_machine_add_destructor __P((sieve_machine_t mach,  
                                        sieve_destructor_t destr,  
                                       void *ptr));  
   
 void sieve_machine_set_error __P((sieve_machine_t mach,  
                                   sieve_printf_t error_printer));  
 void sieve_machine_set_parse_error __P((sieve_machine_t mach,  
                                         sieve_parse_error_t p));  
 void sieve_machine_set_debug __P((sieve_machine_t mach,  
                                   sieve_printf_t debug));  
 void sieve_machine_set_debug_level __P((sieve_machine_t mach,  
                                         mu_debug_t dbg,  
                                         int level));  
 void sieve_machine_set_logger __P((sieve_machine_t mach,  
                                    sieve_action_log_t logger));  
 void sieve_machine_set_ticket __P((sieve_machine_t mach,  
                                    ticket_t ticket));  
 sieve_value_t *sieve_value_get __P((list_t vlist, size_t index));  
182    
183  int sieve_is_dry_run __P((sieve_machine_t mach));  int sieve_is_dry_run __P((sieve_machine_t mach));
184    const char *sieve_type_str __P((sieve_data_type type));
185    
186  int sieve_vlist_do __P((sieve_value_t *val, list_action_t *ac, void *data));  /* Principal entry points */
 int sieve_vlist_compare __P((sieve_value_t *a, sieve_value_t *b,  
                              sieve_comparator_t comp, sieve_retrieve_t ac,  
                              void *data));  
   
187    
188  int sieve_register_comparator __P((const char *name,  int sieve_compile __P((sieve_machine_t mach, const char *name));
189                                     int required,  int sieve_mailbox __P((sieve_machine_t mach, mailbox_t mbox));
190                                     sieve_comparator_t is,  int sieve_message __P((sieve_machine_t mach, message_t message));
191                                     sieve_comparator_t contains,  int sieve_disass __P((sieve_machine_t mach));
                                    sieve_comparator_t matches,  
                                    sieve_comparator_t regex));  
 sieve_comparator_t sieve_comparator_lookup __P((const char *name,  
                                                 int matchtype));  
192    
193  sieve_comparator_t sieve_get_comparator __P((list_t tags));  #ifdef __cplusplus
194    }
195    #endif
196    
197  const char *sieve_type_str __P((sieve_data_type type));  #endif

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26