* New version 2.21.999
[alpine.git] / pith / icache.h
blobc5b8eb0a3274574fa9eca1582df41ce4ca70fefc
1 /*
2 * $Id: icache.h 874 2007-12-15 02:51:06Z hubert@u.washington.edu $
4 * ========================================================================
5 * Copyright 2013-2018 Eduardo Chappa
6 * Copyright 2006-2007 University of Washington
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * ========================================================================
17 #ifndef PITH_ICACHE_INCLUDED
18 #define PITH_ICACHE_INCLUDED
21 #include "../pith/msgno.h"
22 #include "../pith/thread.h"
23 #include "../pith/indxtype.h"
26 /* flags for clear_index_cache() */
27 #define IC_USE_RAW_MSGNO 0x01
28 #define IC_CLEAR_WIDTHS_DONE 0x02
31 /* exported protoypes */
32 void clear_index_cache_ent(MAILSTREAM *, long, unsigned);
33 void clear_index_cache(MAILSTREAM *, unsigned);
34 void clear_index_cache_for_thread(MAILSTREAM *, PINETHRD_S *, MSGNO_S *);
35 void clear_icache_flags(MAILSTREAM *);
36 void set_need_format_setup(MAILSTREAM *);
37 int need_format_setup(MAILSTREAM *);
38 void set_format_includes_msgno(MAILSTREAM *);
39 int format_includes_msgno(MAILSTREAM *);
40 void set_format_includes_smartdate(MAILSTREAM *);
41 int format_includes_smartdate(MAILSTREAM *);
42 void free_ice(ICE_S **);
43 void clear_ice(ICE_S **);
44 void free_ifield(IFIELD_S **);
45 void free_ielem(IELEM_S **);
46 ICE_S *fetch_ice(MAILSTREAM *, unsigned long);
47 ICE_S **fetch_ice_ptr(MAILSTREAM *, unsigned long);
48 ICE_S *copy_ice(ICE_S *);
49 IFIELD_S *copy_ifield(IFIELD_S *);
50 IELEM_S *copy_ielem(IELEM_S *);
51 ICE_S *new_ice(void);
52 IFIELD_S *new_ifield(IFIELD_S **);
53 IELEM_S *new_ielem(IELEM_S **);
56 #endif /* PITH_ICACHE_INCLUDED */