~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Tina5/tina-libs/tina/file/file_TsDef.h

Version: ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /**********
  2  * 
  3  * Copyright (c) 2003, Division of Imaging Science and Biomedical Engineering,
  4  * University of Manchester, UK.  All rights reserved.
  5  * 
  6  * Redistribution and use in source and binary forms, with or without modification, 
  7  * are permitted provided that the following conditions are met:
  8  * 
  9  *   . Redistributions of source code must retain the above copyright notice, 
 10  *     this list of conditions and the following disclaimer.
 11  *    
 12  *   . Redistributions in binary form must reproduce the above copyright notice,
 13  *     this list of conditions and the following disclaimer in the documentation 
 14  *     and/or other materials provided with the distribution.
 15  * 
 16  *   . Neither the name of the University of Manchester nor the names of its
 17  *     contributors may be used to endorse or promote products derived from this 
 18  *     software without specific prior written permission.
 19  * 
 20  * 
 21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
 24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
 25  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
 26  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
 27  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 28  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
 29  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
 30  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
 31  * POSSIBILITY OF SUCH DAMAGE.
 32  *
 33  **********
 34  * 
 35  * Program :    TINA
 36  * File    :  $Source: /home/tina/cvs/tina-libs/tina/file/file_TsDef.h,v $
 37  * Date    :  $Date: 2003/09/22 16:09:02 $
 38  * Version :  $Revision: 1.2 $
 39  * CVS Id  :  $Id: file_TsDef.h,v 1.2 2003/09/22 16:09:02 tony Exp $
 40  *
 41  * Notes :
 42  *
 43  *********
 44 */
 45 
 46 #ifndef TINA_FILE_TS_DEF_HDR
 47 #define TINA_FILE_TS_DEF_HDR
 48 
 49 #include <tina/sys/sysDef.h>
 50 
 51 #define TSTRUCT
 52 
 53 #define USER_TYPE_0_SWAP_STRING ""
 54 #define User_type_0 int
 55 #define USER_TYPE_1_SWAP_STRING ""
 56 #define  User_type_1 int
 57 #define USER_TYPE_2_SWAP_STRING ""
 58 #define  User_type_2 int
 59 #define USER_TYPE_3_SWAP_STRING ""
 60 #define  User_type_3 int
 61 #define USER_TYPE_4_SWAP_STRING ""
 62 #define  User_type_4 int
 63 #define USER_TYPE_5_SWAP_STRING ""
 64 #define  User_type_5 int
 65 #define USER_TYPE_6_SWAP_STRING ""
 66 #define  User_type_6 int
 67 #define USER_TYPE_7_SWAP_STRING ""
 68 #define  User_type_7 int
 69 #define USER_TYPE_8_SWAP_STRING ""
 70 #define  User_type_8 int
 71 #define USER_TYPE_9_SWAP_STRING ""
 72 #define  User_type_9 int
 73 
 74 typedef List *(*Sfunc)(List *, void *);
 75 typedef List *(*Dfunc)(List *, void **);
 76 
 77 
 78 /* Info used to serialise Tina structures */
 79 typedef /* hide from ts_id generator */ struct tina_data_info
 80 {
 81     char   *swap_string;
 82     unsigned int size;          /* size of structure */
 83     char   *name;               /* for debugging only */
 84 /*    struct list *(*serialise) (struct list *l, void *data);   */
 85     Sfunc serialise; /* function to prepare
 86                                                                       * data structure for
 87                                                                       * sending */
 88 /*    struct list *(*deserialise) (struct list * l, void **data);       */
 89     Dfunc deserialise; /* function to recreate
 90                                                                         * data structure
 91                                                                         * received */
 92     void    (*print) (void *data);      /* function to print data
 93                                          * structure */
 94     void    (*free) (void *data);       /* function to free data
 95                                          * structure */
 96 }       Tina_data_info;
 97 
 98 #define TINA_DATA_INFO_SWAP_STRING "i"
 99 #define TS_HANDLERS_SET(_ts_type)\
100         tina_data_info_array[_ts_type ## _id - ts_base_id].serialise = (struct list *(*)(struct list*, void *)) _ts_type ## _ts_serialise;\
101         tina_data_info_array[_ts_type ## _id - ts_base_id].deserialise = (struct list *(*)(struct list*, void **)) _ts_type ## _ts_deserialise;\
102         tina_data_info_array[_ts_type ## _id - ts_base_id].print = (void (*)(void *)) _ts_type ## _ts_print;\
103         tina_data_info_array[_ts_type ## _id - ts_base_id].free = (void (*)(void *)) _ts_type ## _ts_free;
104 
105 #define TS_SWAP_STRING_SET(_ts_type, _swap_string) \
106         tina_data_info_array[_ts_type ## _id - ts_base_id].swap_string = _swap_string
107 
108 #define TS_SIZE_SET(_ts_type) \
109         tina_data_info_array[_ts_type ## _id - ts_base_id].size = sizeof(_ts_type)
110 
111 /* Array of info used to serialise Tina structures & its access
112  * function (used by TS_HANDLERS_SET) */
113 
114         extern Tina_data_info tina_data_info_array[];
115 
116 
117 #endif  /* TINA_FILE_TS_DEF_HDR */
118 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.