From 1496394c0f4be1a718fb189846c6350cbd9e43da Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 24 Oct 2002 22:37:51 +0000 Subject: First stab at porting mplex Original commit message from CVS: First stab at porting mplex --- ext/mplex/mjpeg_types.h | 120 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 ext/mplex/mjpeg_types.h (limited to 'ext/mplex/mjpeg_types.h') diff --git a/ext/mplex/mjpeg_types.h b/ext/mplex/mjpeg_types.h new file mode 100644 index 00000000..21edb9ac --- /dev/null +++ b/ext/mplex/mjpeg_types.h @@ -0,0 +1,120 @@ +/* + $Id$ + + Copyright (C) 2000 Herbert Valerio Riedel + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef __MJPEG_TYPES_H__ +#define __MJPEG_TYPES_H__ +//#include + +#if defined(HAVE_STDINT_H) +# include +#elif defined(HAVE_INTTYPES_H) +# include +#elif defined(__CYGWIN__) +# include +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; +typedef u_int64_t uint64_t; +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# define INT64_C(c) c ## LL +# define UINT8_C(c) c ## U +# define UINT16_C(c) c ## U +# define UINT32_C(c) c ## U +# define UINT64_C(c) c ## ULL +#else +/* warning ISO/IEC 9899:1999 was missing and even */ +/* fixme */ +/* (Ronald) we'll just give an error now...Better solutions might come later */ +#error You don't seem to have sys/types.h, inttypes.h or stdint.h! \ +This might mean two things: \ +Either you really don't have them, in which case you should \ +install the system headers and/or C-library headers. \ +You might also have forgotten to define whether you have them. \ +You can do this by either defining their presence before including \ +mjpegtools' header files (e.g. "#define HAVE_STDINT_H"), or you can check \ +for their presence in a configure script. mjpegtools' configure \ +script is a good example of how to do this. You need to check for \ +PRId64, stdbool.h, inttypes.h, stdint.h and sys/types.h +#endif /* HAVE_STDINT_H */ + +#if defined(__FreeBSD__) +#include /* FreeBSD - ssize_t */ +#endif + +#if defined(HAVE_STDBOOL_H) && !defined(__cplusplus) +#include +#else +/* ISO/IEC 9899:1999 missing -- enabling workaround */ + +# ifndef __cplusplus +typedef enum + { + false = 0, + true = 1 + } locBool; + +# define false false +# define true true +# define bool locBool +# endif +#endif + +#ifndef PRId64 +#define PRId64 PRID64_STRING_FORMAT +#endif + +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) +#define GNUC_PRINTF( format_idx, arg_idx ) \ + __attribute__((format (printf, format_idx, arg_idx))) +#define GNUC_SCANF( format_idx, arg_idx ) \ + __attribute__((format (scanf, format_idx, arg_idx))) +#define GNUC_FORMAT( arg_idx ) \ + __attribute__((format_arg (arg_idx))) +#define GNUC_NORETURN \ + __attribute__((noreturn)) +#define GNUC_CONST \ + __attribute__((const)) +#define GNUC_UNUSED \ + __attribute__((unused)) +#define GNUC_PACKED \ + __attribute__((packed)) +#else /* !__GNUC__ */ +#define GNUC_PRINTF( format_idx, arg_idx ) +#define GNUC_SCANF( format_idx, arg_idx ) +#define GNUC_FORMAT( arg_idx ) +#define GNUC_NORETURN +#define GNUC_CONST +#define GNUC_UNUSED +#define GNUC_PACKED +#endif /* !__GNUC__ */ + + +#endif /* __MJPEG_TYPES_H__ */ + + +/* + * Local variables: + * c-file-style: "gnu" + * tab-width: 8 + * indent-tabs-mode: nil + * End: + */ -- cgit v1.2.1