00001 /* 00002 * share/types.h : commonly used types 00003 * 00004 * Time-stamp: <2002-12-21 13:56:43 gseba> 00005 * 00006 * Copyright (C) Sebastian Glita, email: gseba@users.sourceforge.net 00007 * 00008 * This file is part of plint. 00009 * 00010 * plint is free software; you can redistribute it and/or modify it under the 00011 * terms of the GNU General Public License as published by the Free Software 00012 * Foundation; either version 2, or (at your option) any later version. 00013 * 00014 * plint is distributed in the hope that it will be useful, but WITHOUT 00015 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00016 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 00017 * more details. 00018 * 00019 * You should have received a copy of the GNU General Public License along 00020 * with plint; see the file COPYING. If not, write to the Free Software 00021 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA USA. 00022 * 00023 */ 00024 00025 #ifndef SHARE_TYPES_H 00026 #define SHARE_TYPES_H 00027 00037 #include "common.h" 00038 00040 #if defined(__GNUC__) && defined(NDEBUG) 00041 typedef unsigned long long noref_t; 00042 #else 00043 typedef long noref_t; 00044 #endif 00045 00049 typedef unsigned int bit_t; 00050 00054 typedef bit_t flag_t; 00055 00058 typedef jmp_buf return_t; 00059 00062 typedef jmp_buf jump_t; 00063 00066 typedef va_list vargs_t; 00067 #define vargstart va_start 00068 #define vargsnext va_arg 00069 #define vargsdone va_end 00070 00075 #endif