URI: 
       ical.h - ics2txt - convert icalendar .ics file to plain text
  HTML git clone git://bitreich.org/ics2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ics2txt
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
       ---
       ical.h (1170B)
       ---
            1 #ifndef ICAL_H
            2 #define ICAL_H
            3 
            4 #include <stdio.h>
            5 #include <time.h>
            6 
            7 #define ICAL_STACK_SIZE 10
            8 
            9 typedef enum {
           10         ICAL_BLOCK_VEVENT,
           11         ICAL_BLOCK_VTODO,
           12         ICAL_BLOCK_VJOURNAL,
           13         ICAL_BLOCK_VFREEBUSY,
           14         ICAL_BLOCK_VALARM,
           15         ICAL_BLOCK_OTHER,
           16 } IcalBlock;
           17 
           18 typedef struct {
           19         char         name[32];
           20         char         tzid[32];
           21 } IcalStack;
           22 
           23 typedef struct IcalParser IcalParser;
           24 struct IcalParser {
           25         /* function called while parsing in this order */
           26         int (*fn_field_name)(IcalParser *, char *);
           27         int (*fn_param_name)(IcalParser *, char *);
           28         int (*fn_param_value)(IcalParser *, char *, char *);
           29         int (*fn_field_value)(IcalParser *, char *, char *);
           30         int (*fn_block_begin)(IcalParser *, char *);
           31         int (*fn_block_end)(IcalParser *, char *);
           32         /* if returning non-zero then halt the parser */
           33 
           34         int         base64;
           35         char        *errmsg;
           36         size_t         linenum;
           37         char        *tzid;
           38         IcalBlock blocktype;
           39         IcalStack stack[ICAL_STACK_SIZE], *current;
           40 };
           41 
           42 extern char *ical_block_name[ICAL_BLOCK_OTHER + 1];
           43 
           44 int         ical_parse(IcalParser *, FILE *);
           45 int         ical_get_level(IcalParser *);
           46 int         ical_get_time(IcalParser *, char *, time_t *);
           47 int         ical_get_value(IcalParser *, char *, size_t *);
           48 int         ical_err(IcalParser *, char *);
           49 
           50 #endif