author | zautrix <zautrix> | 2004-07-03 16:33:12 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-07-03 16:33:12 (UTC) |
commit | e3b89230f065c48c84b48c88edb6eb088374c487 (patch) (unidiff) | |
tree | 162ea2ef909a6f82ccfcedf45d80d6c821174912 /kmicromail/libetpan/imap/mailimap_types_helper.h | |
parent | 2dd6ac0b2d24c91d35ce674a6c26351352df2b15 (diff) | |
download | kdepimpi-e3b89230f065c48c84b48c88edb6eb088374c487.zip kdepimpi-e3b89230f065c48c84b48c88edb6eb088374c487.tar.gz kdepimpi-e3b89230f065c48c84b48c88edb6eb088374c487.tar.bz2 |
Initial revision
Diffstat (limited to 'kmicromail/libetpan/imap/mailimap_types_helper.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kmicromail/libetpan/imap/mailimap_types_helper.h | 758 |
1 files changed, 758 insertions, 0 deletions
diff --git a/kmicromail/libetpan/imap/mailimap_types_helper.h b/kmicromail/libetpan/imap/mailimap_types_helper.h new file mode 100644 index 0000000..bb0bb99 --- a/dev/null +++ b/kmicromail/libetpan/imap/mailimap_types_helper.h | |||
@@ -0,0 +1,758 @@ | |||
1 | /* | ||
2 | * libEtPan! -- a mail stuff library | ||
3 | * | ||
4 | * Copyright (C) 2001, 2002 - DINH Viet Hoa | ||
5 | * All rights reserved. | ||
6 | * | ||
7 | * Redistribution and use in source and binary forms, with or without | ||
8 | * modification, are permitted provided that the following conditions | ||
9 | * are met: | ||
10 | * 1. Redistributions of source code must retain the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer. | ||
12 | * 2. Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in the | ||
14 | * documentation and/or other materials provided with the distribution. | ||
15 | * 3. Neither the name of the libEtPan! project nor the names of its | ||
16 | * contributors may be used to endorse or promote products derived | ||
17 | * from this software without specific prior written permission. | ||
18 | * | ||
19 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | ||
20 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
22 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | ||
23 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
24 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
25 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
26 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
28 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
29 | * SUCH DAMAGE. | ||
30 | */ | ||
31 | |||
32 | /* | ||
33 | * $Id$ | ||
34 | */ | ||
35 | |||
36 | #ifndef MAILIMAP_TYPES_HELPER_H | ||
37 | |||
38 | #define MAILIMAP_TYPES_HELPER_H | ||
39 | |||
40 | #ifdef __cplusplus | ||
41 | extern "C" { | ||
42 | #endif | ||
43 | |||
44 | #include <libetpan/mailimap_types.h> | ||
45 | |||
46 | /* | ||
47 | IMPORTANT NOTE: | ||
48 | |||
49 | All allocation functions will take as argument allocated data | ||
50 | and will store these data in the structure they will allocate. | ||
51 | Data should be persistant during all the use of the structure | ||
52 | and will be freed by the free function of the structure | ||
53 | |||
54 | allocation functions will return NULL on failure | ||
55 | */ | ||
56 | |||
57 | /* | ||
58 | this function creates a new set item with a single message | ||
59 | given by index | ||
60 | */ | ||
61 | |||
62 | struct mailimap_set_item * mailimap_set_item_new_single(uint32_t index); | ||
63 | |||
64 | /* | ||
65 | this function creates a new set with one set item | ||
66 | */ | ||
67 | |||
68 | struct mailimap_set * | ||
69 | mailimap_set_new_single_item(struct mailimap_set_item * item); | ||
70 | |||
71 | /* | ||
72 | this function creates a set with a single interval | ||
73 | */ | ||
74 | |||
75 | struct mailimap_set * mailimap_set_new_interval(uint32_t first, uint32_t last); | ||
76 | |||
77 | /* | ||
78 | this function creates a set with a single message | ||
79 | */ | ||
80 | |||
81 | struct mailimap_set * mailimap_set_new_single(uint32_t index); | ||
82 | |||
83 | /* | ||
84 | this function creates an empty set of messages | ||
85 | */ | ||
86 | |||
87 | struct mailimap_set * mailimap_set_new_empty(void); | ||
88 | |||
89 | /* | ||
90 | this function adds a set item to the set of messages | ||
91 | |||
92 | @return MAILIMAP_NO_ERROR will be returned on success, | ||
93 | other code will be returned otherwise | ||
94 | */ | ||
95 | |||
96 | int mailimap_set_add(struct mailimap_set * set, | ||
97 | struct mailimap_set_item * set_item); | ||
98 | |||
99 | /* | ||
100 | this function adds an interval to the set | ||
101 | |||
102 | @return MAILIMAP_NO_ERROR will be returned on success, | ||
103 | other code will be returned otherwise | ||
104 | */ | ||
105 | |||
106 | int mailimap_set_add_interval(struct mailimap_set * set, | ||
107 | uint32_t first, uint32_t last); | ||
108 | |||
109 | /* | ||
110 | this function adds a single message to the set | ||
111 | |||
112 | @return MAILIMAP_NO_ERROR will be returned on success, | ||
113 | other code will be returned otherwise | ||
114 | */ | ||
115 | |||
116 | int mailimap_set_add_single(struct mailimap_set * set, | ||
117 | uint32_t index); | ||
118 | |||
119 | /* | ||
120 | this function creates a mailimap_section structure to request | ||
121 | the header of a message | ||
122 | */ | ||
123 | |||
124 | struct mailimap_section * mailimap_section_new_header(void); | ||
125 | |||
126 | /* | ||
127 | this functions creates a mailimap_section structure to describe | ||
128 | a list of headers | ||
129 | */ | ||
130 | |||
131 | struct mailimap_section * | ||
132 | mailimap_section_new_header_fields(struct mailimap_header_list * header_list); | ||
133 | |||
134 | /* | ||
135 | this functions creates a mailimap_section structure to describe headers | ||
136 | other than those given | ||
137 | */ | ||
138 | |||
139 | struct mailimap_section * | ||
140 | mailimap_section_new_header_fields_not(struct mailimap_header_list * header_list); | ||
141 | |||
142 | /* | ||
143 | this function creates a mailimap_section structure to describe the | ||
144 | text of a message | ||
145 | */ | ||
146 | |||
147 | struct mailimap_section * mailimap_section_new_text(void); | ||
148 | |||
149 | /* | ||
150 | this function creates a mailimap_section structure to describe the | ||
151 | content of a MIME part | ||
152 | */ | ||
153 | |||
154 | struct mailimap_section * | ||
155 | mailimap_section_new_part(struct mailimap_section_part * part); | ||
156 | |||
157 | /* | ||
158 | this function creates a mailimap_section structure to describe the | ||
159 | MIME fields of a MIME part | ||
160 | */ | ||
161 | |||
162 | struct mailimap_section * | ||
163 | mailimap_section_new_part_mime(struct mailimap_section_part * part); | ||
164 | |||
165 | /* | ||
166 | this function creates a mailimap_section structure to describe the | ||
167 | headers of a MIME part if the MIME type is a message/rfc822 | ||
168 | */ | ||
169 | |||
170 | struct mailimap_section * | ||
171 | mailimap_section_new_part_header(struct mailimap_section_part * part); | ||
172 | |||
173 | /* | ||
174 | this function creates a mailimap_section structure to describe | ||
175 | a list of headers of a MIME part if the MIME type is a message/rfc822 | ||
176 | */ | ||
177 | |||
178 | struct mailimap_section * | ||
179 | mailimap_section_new_part_header_fields(struct mailimap_section_part * | ||
180 | part, | ||
181 | struct mailimap_header_list * | ||
182 | header_list); | ||
183 | |||
184 | /* | ||
185 | this function creates a mailimap_section structure to describe | ||
186 | headers of a MIME part other than those given if the MIME type | ||
187 | is a message/rfc822 | ||
188 | */ | ||
189 | |||
190 | struct mailimap_section * | ||
191 | mailimap_section_new_part_header_fields_not(struct mailimap_section_part | ||
192 | * part, | ||
193 | struct mailimap_header_list | ||
194 | * header_list); | ||
195 | |||
196 | /* | ||
197 | this function creates a mailimap_section structure to describe | ||
198 | text part of message if the MIME type is a message/rfc822 | ||
199 | */ | ||
200 | |||
201 | struct mailimap_section * | ||
202 | mailimap_section_new_part_text(struct mailimap_section_part * part); | ||
203 | |||
204 | |||
205 | /* | ||
206 | this function creates a mailimap_fetch_att structure to request | ||
207 | envelope of a message | ||
208 | */ | ||
209 | |||
210 | struct mailimap_fetch_att * | ||
211 | mailimap_fetch_att_new_envelope(void); | ||
212 | |||
213 | |||
214 | /* | ||
215 | this function creates a mailimap_fetch_att structure to request | ||
216 | flags of a message | ||
217 | */ | ||
218 | |||
219 | struct mailimap_fetch_att * | ||
220 | mailimap_fetch_att_new_flags(void); | ||
221 | |||
222 | /* | ||
223 | this function creates a mailimap_fetch_att structure to request | ||
224 | internal date of a message | ||
225 | */ | ||
226 | |||
227 | struct mailimap_fetch_att * | ||
228 | mailimap_fetch_att_new_internaldate(void); | ||
229 | |||
230 | |||
231 | /* | ||
232 | this function creates a mailimap_fetch_att structure to request | ||
233 | text part of a message | ||
234 | */ | ||
235 | |||
236 | struct mailimap_fetch_att * | ||
237 | mailimap_fetch_att_new_rfc822(void); | ||
238 | |||
239 | |||
240 | /* | ||
241 | this function creates a mailimap_fetch_att structure to request | ||
242 | header of a message | ||
243 | */ | ||
244 | |||
245 | struct mailimap_fetch_att * | ||
246 | mailimap_fetch_att_new_rfc822_header(void); | ||
247 | |||
248 | /* | ||
249 | this function creates a mailimap_fetch_att structure to request | ||
250 | size of a message | ||
251 | */ | ||
252 | |||
253 | struct mailimap_fetch_att * | ||
254 | mailimap_fetch_att_new_rfc822_size(void); | ||
255 | |||
256 | /* | ||
257 | this function creates a mailimap_fetch_att structure to request | ||
258 | envelope of a message | ||
259 | */ | ||
260 | |||
261 | struct mailimap_fetch_att * | ||
262 | mailimap_fetch_att_new_rfc822_text(void); | ||
263 | |||
264 | /* | ||
265 | this function creates a mailimap_fetch_att structure to request | ||
266 | the MIME structure of a message | ||
267 | */ | ||
268 | |||
269 | struct mailimap_fetch_att * | ||
270 | mailimap_fetch_att_new_body(void); | ||
271 | |||
272 | /* | ||
273 | this function creates a mailimap_fetch_att structure to request | ||
274 | the MIME structure of a message and additional MIME information | ||
275 | */ | ||
276 | |||
277 | struct mailimap_fetch_att * | ||
278 | mailimap_fetch_att_new_bodystructure(void); | ||
279 | |||
280 | /* | ||
281 | this function creates a mailimap_fetch_att structure to request | ||
282 | unique identifier of a message | ||
283 | */ | ||
284 | |||
285 | struct mailimap_fetch_att * | ||
286 | mailimap_fetch_att_new_uid(void); | ||
287 | |||
288 | /* | ||
289 | this function creates a mailimap_fetch_att structure to request | ||
290 | a given section of a message | ||
291 | */ | ||
292 | |||
293 | struct mailimap_fetch_att * | ||
294 | mailimap_fetch_att_new_body_section(struct mailimap_section * section); | ||
295 | |||
296 | /* | ||
297 | this function creates a mailimap_fetch_att structure to request | ||
298 | a given section of a message without marking it as read | ||
299 | */ | ||
300 | |||
301 | struct mailimap_fetch_att * | ||
302 | mailimap_fetch_att_new_body_peek_section(struct mailimap_section * section); | ||
303 | |||
304 | /* | ||
305 | this function creates a mailimap_fetch_att structure to request | ||
306 | a part of a section of a message | ||
307 | */ | ||
308 | |||
309 | struct mailimap_fetch_att * | ||
310 | mailimap_fetch_att_new_body_section_partial(struct mailimap_section * section, | ||
311 | uint32_t offset, uint32_t size); | ||
312 | |||
313 | /* | ||
314 | this function creates a mailimap_fetch_att structure to request | ||
315 | a part of a section of a message without marking it as read | ||
316 | */ | ||
317 | |||
318 | struct mailimap_fetch_att * | ||
319 | mailimap_fetch_att_new_body_peek_section_partial(struct mailimap_section * section, | ||
320 | uint32_t offset, uint32_t size); | ||
321 | |||
322 | /* | ||
323 | this function creates a mailimap_fetch_type structure to request | ||
324 | (FLAGS INTERNALDATE RFC822.SIZE ENVELOPE) of a message | ||
325 | */ | ||
326 | |||
327 | struct mailimap_fetch_type * | ||
328 | mailimap_fetch_type_new_all(void); | ||
329 | |||
330 | /* | ||
331 | this function creates a mailimap_fetch_type structure to request | ||
332 | (FLAGS INTERNALDATE RFC822.SIZE ENVELOPE BODY) | ||
333 | */ | ||
334 | |||
335 | struct mailimap_fetch_type * | ||
336 | mailimap_fetch_type_new_full(void); | ||
337 | |||
338 | /* | ||
339 | this function creates a mailimap_fetch_type structure to request | ||
340 | (FLAGS INTERNALDATE RFC822.SIZE) | ||
341 | */ | ||
342 | |||
343 | struct mailimap_fetch_type * | ||
344 | mailimap_fetch_type_new_fast(void); | ||
345 | |||
346 | /* | ||
347 | this function creates a mailimap_fetch_type structure to request | ||
348 | the given fetch attribute | ||
349 | */ | ||
350 | |||
351 | struct mailimap_fetch_type * | ||
352 | mailimap_fetch_type_new_fetch_att(struct mailimap_fetch_att * fetch_att); | ||
353 | |||
354 | /* | ||
355 | this function creates a mailimap_fetch_type structure to request | ||
356 | the list of fetch attributes | ||
357 | */ | ||
358 | |||
359 | struct mailimap_fetch_type * | ||
360 | mailimap_fetch_type_new_fetch_att_list(clist * fetch_att_list); | ||
361 | |||
362 | /* | ||
363 | this function creates a mailimap_fetch_type structure | ||
364 | */ | ||
365 | |||
366 | struct mailimap_fetch_type * | ||
367 | mailimap_fetch_type_new_fetch_att_list_empty(void); | ||
368 | |||
369 | /* | ||
370 | this function adds a given fetch attribute to the mailimap_fetch | ||
371 | structure | ||
372 | |||
373 | @return MAILIMAP_NO_ERROR will be returned on success, | ||
374 | other code will be returned otherwise | ||
375 | */ | ||
376 | |||
377 | int | ||
378 | mailimap_fetch_type_new_fetch_att_list_add(struct mailimap_fetch_type * | ||
379 | fetch_type, | ||
380 | struct mailimap_fetch_att * | ||
381 | fetch_att); | ||
382 | |||
383 | /* | ||
384 | this function creates a store attribute to set the given flags | ||
385 | */ | ||
386 | |||
387 | struct mailimap_store_att_flags * | ||
388 | mailimap_store_att_flags_new_set_flags(struct mailimap_flag_list * flags); | ||
389 | |||
390 | /* | ||
391 | this function creates a store attribute to silently set the given flags | ||
392 | */ | ||
393 | |||
394 | struct mailimap_store_att_flags * | ||
395 | mailimap_store_att_flags_new_set_flags_silent(struct mailimap_flag_list * | ||
396 | flags); | ||
397 | |||
398 | /* | ||
399 | this function creates a store attribute to add the given flags | ||
400 | */ | ||
401 | |||
402 | struct mailimap_store_att_flags * | ||
403 | mailimap_store_att_flags_new_add_flags(struct mailimap_flag_list * flags); | ||
404 | |||
405 | /* | ||
406 | this function creates a store attribute to add silently the given flags | ||
407 | */ | ||
408 | |||
409 | struct mailimap_store_att_flags * | ||
410 | mailimap_store_att_flags_new_add_flags_silent(struct mailimap_flag_list * | ||
411 | flags); | ||
412 | |||
413 | /* | ||
414 | this function creates a store attribute to remove the given flags | ||
415 | */ | ||
416 | |||
417 | struct mailimap_store_att_flags * | ||
418 | mailimap_store_att_flags_new_remove_flags(struct mailimap_flag_list * flags); | ||
419 | |||
420 | /* | ||
421 | this function creates a store attribute to remove silently the given flags | ||
422 | */ | ||
423 | |||
424 | struct mailimap_store_att_flags * | ||
425 | mailimap_store_att_flags_new_remove_flags_silent(struct mailimap_flag_list * | ||
426 | flags); | ||
427 | |||
428 | |||
429 | /* | ||
430 | this function creates a condition structure to match all messages | ||
431 | */ | ||
432 | |||
433 | struct mailimap_search_key * | ||
434 | mailimap_search_key_new_all(void); | ||
435 | |||
436 | /* | ||
437 | this function creates a condition structure to match messages with Bcc field | ||
438 | |||
439 | @param bcc this is the content of Bcc to match, it should be allocated | ||
440 | with malloc() | ||
441 | */ | ||
442 | |||
443 | struct mailimap_search_key * | ||
444 | mailimap_search_key_new_bcc(char * sk_bcc); | ||
445 | |||
446 | /* | ||
447 | this function creates a condition structure to match messages with | ||
448 | internal date | ||
449 | */ | ||
450 | |||
451 | struct mailimap_search_key * | ||
452 | mailimap_search_key_new_before(struct mailimap_date * sk_before); | ||
453 | |||
454 | /* | ||
455 | this function creates a condition structure to match messages with | ||
456 | message content | ||
457 | |||
458 | @param body this is the content of the message to match, it should | ||
459 | be allocated with malloc() | ||
460 | */ | ||
461 | |||
462 | struct mailimap_search_key * | ||
463 | mailimap_search_key_new_body(char * sk_body); | ||
464 | |||
465 | /* | ||
466 | this function creates a condition structure to match messages with | ||
467 | Cc field | ||
468 | |||
469 | |||
470 | @param cc this is the content of Cc to match, it should be allocated | ||
471 | with malloc() | ||
472 | */ | ||
473 | |||
474 | struct mailimap_search_key * | ||
475 | mailimap_search_key_new_cc(char * sk_cc); | ||
476 | |||
477 | /* | ||
478 | this function creates a condition structure to match messages with | ||
479 | From field | ||
480 | |||
481 | @param from this is the content of From to match, it should be allocated | ||
482 | with malloc() | ||
483 | */ | ||
484 | |||
485 | struct mailimap_search_key * | ||
486 | mailimap_search_key_new_from(char * sk_from); | ||
487 | |||
488 | /* | ||
489 | this function creates a condition structure to match messages with | ||
490 | a flag given by keyword | ||
491 | */ | ||
492 | |||
493 | struct mailimap_search_key * | ||
494 | mailimap_search_key_new_keyword(char * sk_keyword); | ||
495 | |||
496 | /* | ||
497 | this function creates a condition structure to match messages with | ||
498 | internal date | ||
499 | */ | ||
500 | |||
501 | struct mailimap_search_key * | ||
502 | mailimap_search_key_new_on(struct mailimap_date * sk_on); | ||
503 | |||
504 | /* | ||
505 | this function creates a condition structure to match messages with | ||
506 | internal date | ||
507 | */ | ||
508 | |||
509 | struct mailimap_search_key * | ||
510 | mailimap_search_key_new_since(struct mailimap_date * sk_since); | ||
511 | |||
512 | /* | ||
513 | this function creates a condition structure to match messages with | ||
514 | Subject field | ||
515 | |||
516 | @param subject this is the content of Subject to match, it should | ||
517 | be allocated with malloc() | ||
518 | */ | ||
519 | |||
520 | struct mailimap_search_key * | ||
521 | mailimap_search_key_new_subject(char * sk_subject); | ||
522 | |||
523 | /* | ||
524 | this function creates a condition structure to match messages with | ||
525 | message text part | ||
526 | |||
527 | @param text this is the message text to match, it should | ||
528 | be allocated with malloc() | ||
529 | */ | ||
530 | |||
531 | struct mailimap_search_key * | ||
532 | mailimap_search_key_new_text(char * sk_text); | ||
533 | |||
534 | /* | ||
535 | this function creates a condition structure to match messages with | ||
536 | To field | ||
537 | |||
538 | @param to this is the content of To to match, it should be allocated | ||
539 | with malloc() | ||
540 | */ | ||
541 | |||
542 | struct mailimap_search_key * | ||
543 | mailimap_search_key_new_to(char * sk_to); | ||
544 | |||
545 | /* | ||
546 | this function creates a condition structure to match messages with | ||
547 | no a flag given by unkeyword | ||
548 | */ | ||
549 | |||
550 | struct mailimap_search_key * | ||
551 | mailimap_search_key_new_unkeyword(char * sk_unkeyword); | ||
552 | |||
553 | /* | ||
554 | this function creates a condition structure to match messages with | ||
555 | the given field | ||
556 | |||
557 | @param header_name this is the name of the field to match, it | ||
558 | should be allocated with malloc() | ||
559 | |||
560 | @param header_value this is the content, it should be allocated | ||
561 | with malloc() | ||
562 | */ | ||
563 | |||
564 | struct mailimap_search_key * | ||
565 | mailimap_search_key_new_header(char * sk_header_name, char * sk_header_value); | ||
566 | |||
567 | |||
568 | /* | ||
569 | this function creates a condition structure to match messages with size | ||
570 | */ | ||
571 | |||
572 | struct mailimap_search_key * | ||
573 | mailimap_search_key_new_larger(uint32_t sk_larger); | ||
574 | |||
575 | /* | ||
576 | this function creates a condition structure to match messages that | ||
577 | do not match the given condition | ||
578 | */ | ||
579 | |||
580 | struct mailimap_search_key * | ||
581 | mailimap_search_key_new_not(struct mailimap_search_key * sk_not); | ||
582 | |||
583 | /* | ||
584 | this function creates a condition structure to match messages that | ||
585 | match one of the given conditions | ||
586 | */ | ||
587 | |||
588 | struct mailimap_search_key * | ||
589 | mailimap_search_key_new_or(struct mailimap_search_key * sk_or1, | ||
590 | struct mailimap_search_key * sk_or2); | ||
591 | |||
592 | /* | ||
593 | this function creates a condition structure to match messages | ||
594 | with Date field | ||
595 | */ | ||
596 | |||
597 | struct mailimap_search_key * | ||
598 | mailimap_search_key_new_sentbefore(struct mailimap_date * sk_sentbefore); | ||
599 | |||
600 | /* | ||
601 | this function creates a condition structure to match messages | ||
602 | with Date field | ||
603 | */ | ||
604 | |||
605 | struct mailimap_search_key * | ||
606 | mailimap_search_key_new_senton(struct mailimap_date * sk_senton); | ||
607 | |||
608 | /* | ||
609 | this function creates a condition structure to match messages | ||
610 | with Date field | ||
611 | */ | ||
612 | |||
613 | struct mailimap_search_key * | ||
614 | mailimap_search_key_new_sentsince(struct mailimap_date * sk_sentsince); | ||
615 | |||
616 | /* | ||
617 | this function creates a condition structure to match messages with size | ||
618 | */ | ||
619 | |||
620 | struct mailimap_search_key * | ||
621 | mailimap_search_key_new_smaller(uint32_t sk_smaller); | ||
622 | |||
623 | /* | ||
624 | this function creates a condition structure to match messages with unique | ||
625 | identifier | ||
626 | */ | ||
627 | |||
628 | struct mailimap_search_key * | ||
629 | mailimap_search_key_new_uid(struct mailimap_set * sk_uid); | ||
630 | |||
631 | /* | ||
632 | this function creates a condition structure to match messages with number | ||
633 | or unique identifier (depending whether SEARCH or UID SEARCH is used) | ||
634 | */ | ||
635 | |||
636 | struct mailimap_search_key * | ||
637 | mailimap_search_key_new_set(struct mailimap_set * sk_set); | ||
638 | |||
639 | /* | ||
640 | this function creates a condition structure to match messages that match | ||
641 | all the conditions given in the list | ||
642 | */ | ||
643 | |||
644 | struct mailimap_search_key * | ||
645 | mailimap_search_key_new_multiple(clist * sk_multiple); | ||
646 | |||
647 | |||
648 | /* | ||
649 | same as previous but the list is empty | ||
650 | */ | ||
651 | |||
652 | struct mailimap_search_key * | ||
653 | mailimap_search_key_new_multiple_empty(void); | ||
654 | |||
655 | /* | ||
656 | this function adds a condition to the condition list | ||
657 | |||
658 | @return MAILIMAP_NO_ERROR will be returned on success, | ||
659 | other code will be returned otherwise | ||
660 | */ | ||
661 | |||
662 | int | ||
663 | mailimap_search_key_multiple_add(struct mailimap_search_key * keys, | ||
664 | struct mailimap_search_key * key_item); | ||
665 | |||
666 | |||
667 | /* | ||
668 | this function creates an empty list of flags | ||
669 | */ | ||
670 | |||
671 | struct mailimap_flag_list * | ||
672 | mailimap_flag_list_new_empty(void); | ||
673 | |||
674 | /* | ||
675 | this function adds a flag to the list of flags | ||
676 | |||
677 | @return MAILIMAP_NO_ERROR will be returned on success, | ||
678 | other code will be returned otherwise | ||
679 | */ | ||
680 | |||
681 | int mailimap_flag_list_add(struct mailimap_flag_list * flag_list, | ||
682 | struct mailimap_flag * f); | ||
683 | |||
684 | /* | ||
685 | this function creates a \Answered flag | ||
686 | */ | ||
687 | |||
688 | struct mailimap_flag * mailimap_flag_new_answered(void); | ||
689 | |||
690 | /* | ||
691 | this function creates a \Flagged flag | ||
692 | */ | ||
693 | |||
694 | struct mailimap_flag * mailimap_flag_new_flagged(void); | ||
695 | |||
696 | /* | ||
697 | this function creates a \Deleted flag | ||
698 | */ | ||
699 | |||
700 | struct mailimap_flag * mailimap_flag_new_deleted(void); | ||
701 | |||
702 | /* | ||
703 | this function creates a \Seen flag | ||
704 | */ | ||
705 | |||
706 | struct mailimap_flag * mailimap_flag_new_seen(void); | ||
707 | |||
708 | /* | ||
709 | this function creates a \Draft flag | ||
710 | */ | ||
711 | |||
712 | struct mailimap_flag * mailimap_flag_new_draft(void); | ||
713 | |||
714 | /* | ||
715 | this function creates a keyword flag | ||
716 | |||
717 | @param flag_keyword this should be allocated with malloc() | ||
718 | */ | ||
719 | |||
720 | struct mailimap_flag * mailimap_flag_new_flag_keyword(char * flag_keyword); | ||
721 | |||
722 | |||
723 | /* | ||
724 | this function creates an extension flag | ||
725 | |||
726 | @param flag_extension this should be allocated with malloc() | ||
727 | */ | ||
728 | |||
729 | struct mailimap_flag * mailimap_flag_new_flag_extension(char * flag_extension); | ||
730 | |||
731 | /* | ||
732 | this function creates an empty list of status attributes | ||
733 | */ | ||
734 | |||
735 | struct mailimap_status_att_list * mailimap_status_att_list_new_empty(void); | ||
736 | |||
737 | /* | ||
738 | this function adds status attributes to the list | ||
739 | |||
740 | @return MAILIMAP_NO_ERROR will be returned on success, | ||
741 | other code will be returned otherwise | ||
742 | */ | ||
743 | |||
744 | int | ||
745 | mailimap_status_att_list_add(struct mailimap_status_att_list * sa_list, | ||
746 | int status_att); | ||
747 | |||
748 | /* return mailimap_section_part from a given mailimap_body */ | ||
749 | |||
750 | int mailimap_get_section_part_from_body(struct mailimap_body * root_part, | ||
751 | struct mailimap_body * part, | ||
752 | struct mailimap_section_part ** result); | ||
753 | |||
754 | #ifdef __cplusplus | ||
755 | } | ||
756 | #endif | ||
757 | |||
758 | #endif | ||