1 | /***************************************
2 | $Revision: 1.1 $
3 |
4 | Subject line parsing
5 |
6 | Status: NOT REVIEWED, TESTED
7 |
8 | Author(s): Engin Gunduz
9 |
10 | ******************/ /******************
11 | Modification History:
12 | engin (19/03/2001) Created.
13 | ******************/ /******************
14 | Copyright (c) 2001 RIPE NCC
15 |
16 | All Rights Reserved
17 |
18 | Permission to use, copy, modify, and distribute this software and its
19 | documentation for any purpose and without fee is hereby granted,
20 | provided that the above copyright notice appear in all copies and that
21 | both that copyright notice and this permission notice appear in
22 | supporting documentation, and that the name of the author not be
23 | used in advertising or publicity pertaining to distribution of the
24 | software without specific, written prior permission.
25 |
26 | THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
27 | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
28 | AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
29 | DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
30 | AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
31 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
32 | ***************************************/
33 |
34 | #ifndef UP_SUBJECT_H
35 | #define UP_SUBJECT_H
36 |
37 | #include <stdio.h>
38 | #include <stdlib.h>
39 | #include <string.h>
40 | #include <sys/types.h>
41 | #include <glib.h>
42 |
43 | enum UP_KEYW_CLASSIFICATION{
44 | UP_KEYWORD_HELP = 0, /* HELP or HOWTO */
45 | UP_KEYWORD_NEW, /* NEW keyword */
46 | UP_KEYWORD_UNRECOG /* All other strings */
47 | };
48 |
49 | enum UP_SUBJ_RESULT{
50 | UP_SUBJ_INIT = 0, /* only to initialize in UP_subject_process function */
51 | UP_SUBJ_HELP_REQ, /* Tells that help is requested in subject line */
52 | UP_SUBJ_NEW_ENFORCED, /* Tells that NEW keyword is specified in subject line */
53 | UP_SUBJ_UNRECOG, /* Tells that some unrecognised words found in subj line,
54 | (as well as recognised one[s]) */
55 | UP_SUBJ_ALL_UNRECOG, /* Tells that all words were unrecognised ones (or subject
56 | line was empty or non-existent */
57 | UP_SUBJ_INVALID_COMB /* Tells that an invalid combination of keywords is
58 | found */
59 | };
60 |
61 | #ifdef __cplusplus
62 | extern "C" {
63 | #endif
64 |
65 |
66 | typedef struct _up_subject_struct{
67 | int result; /* result of the subject processing */
68 | char * word_list; /* this is the list of keywords that aren't recognised */
69 | } up_subject_struct;
70 |
71 |
72 |
73 |
74 | up_subject_struct UP_subject_process(const char *subject_line);
75 |
76 | #ifdef __cplusplus
77 | }
78 | #endif
79 |
80 | #endif