libkcal

icalattachimpl.h

Go to the documentation of this file.
00001 /* -*- Mode: C -*- */
00002 /*======================================================================
00003   FILE: icalattachimpl.h
00004   CREATOR: acampi 28 May 02
00005   
00006 
00007 
00008  (C) COPYRIGHT 2000, Andrea Campi <a.campi@inet.it>
00009 
00010  This program is free software; you can redistribute it and/or modify
00011  it under the terms of either: 
00012 
00013     The LGPL as published by the Free Software Foundation, version
00014     2.1, available at: http://www.fsf.org/copyleft/lesser.html
00015 
00016   Or:
00017 
00018     The Mozilla Public License Version 1.0. You may obtain a copy of
00019     the License at http://www.mozilla.org/MPL/
00020 
00021   The original code is icalattachimpl.h
00022 
00023 
00024 ======================================================================*/
00025 
00026 #ifdef HAVE_CONFIG_H
00027 #include <config.h>
00028 #endif
00029 
00030 #ifndef ICALATTACHIMPL_H
00031 #define ICALATTACHIMPL_H
00032 
00033 #include "icalattach.h"
00034 
00035 /* Private structure for ATTACH values */
00036 struct icalattach_impl {
00037     /* Reference count */
00038     int refcount;
00039 
00040     union {
00041         /* URL attachment data */
00042         struct {
00043             char *url;
00044         } url;
00045 
00046         /* Inline data */
00047         struct {
00048             unsigned char *data;
00049             icalattach_free_fn_t free_fn;
00050             void *free_fn_data;
00051         } data;
00052     } u;
00053 
00054     /* TRUE if URL, FALSE if inline data */
00055     unsigned int is_url : 1;
00056 };
00057 
00058 #endif