// =====================================================================
/*!
//
//  \file Tglobals.h
//  \brief アーキテクチャ依存の部分はなるべくこのファイルで吸収します.
//  \author Go IWAI <goiwai@users.sourceforge.jp>
//
//  $Id: Tglobals.h,v 1.8 2004/01/19 21:09:43 goiwai Exp $
//  $Name: CLDAQ-1-14-06 $
//  $Log: Tglobals.h,v $
//  Revision 1.8  2004/01/19 21:09:43  goiwai
//  プリプロセッサの接頭辞をCLDAQ__に変更しました.
//
//  Revision 1.7  2003/12/04 23:20:52  goiwai
//  DEBUGのときなんかにわりと便利な CLDAQ_DEBUG() マクロあたりをのちょい修整.
//
//  Revision 1.6  2003/11/03 08:39:23  goiwai
//  Doxygen用のタグとコメントをうつ試みを開始しました.
//
//  Revision 1.5  2003/11/03 08:35:15  goiwai
//  Doxygen用のタグとコメントをうちこんでいく試みを開始しました.
//
//  Revision 1.4  2003/10/06 16:38:26  goiwai
//  *** empty log message ***
//
//  Revision 1.3  2003/08/12 11:26:49  goiwai
//  #include <typeinfo> を追加しました.
//
//  Revision 1.2  2003/07/30 16:21:21  goiwai
//  ファイルにコミットログをつけることにしました.
//
*/
// =====================================================================
#ifndef CLDAQ__TGLOBALS_H
#define CLDAQ__TGLOBALS_H

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
#include <X11/cursorfont.h>
#include <X11/keysym.h>
#include <X11/xpm.h>

#include <stdio.h>
#include <string.h>
#include <fstream>
#include <typeinfo>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/un.h>
#include <fcntl.h>
#include <errno.h>
#include <math.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <signal.h>
#include <sys/ioctl.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <sys/wait.h>
#include <termios.h>
#include <term.h>
#include <ncurses.h>
#include <limits.h>
#include <values.h>
#include <libgen.h>
#include <pwd.h>
#include <grp.h>

#include <unistd.h>
#include <sys/time.h>
#include <time.h>
typedef pid_t Tpid_t;
typedef time_t Ttime_t;

#include <sys/mman.h>
typedef off_t Toff_t;

#include <sys/times.h>
typedef clock_t Tclock_t;

#ifdef __CLDAQ_ZLIB_USE
#include <zlib.h>
typedef z_stream Tzstream;
typedef Byte Tbyte;
#endif

#include <pthread.h>
typedef pthread_t Tthread_t;

#include <sys/socket.h>
typedef socklen_t Tsocklen_t;

#include <regex.h>
typedef regex_t Tregex_t;
typedef regmatch_t Tregmatch_t;

#include <linux/param.h>
#ifndef CLDAQ__USE_BSD
typedef __caddr_t caddr_t;
#endif
typedef caddr_t Tcaddr_t;

// #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
// // see <sys/sem.h>
// #else
// // if defer to X/OPEN design
// union semun {
//   int val;                    // value for SETVAL
//   struct semid_ds* buf;       // buffer for IPC_STAT, IPC_SET
//   unsigned short int* array;  // array for GETALL, SETALL
//   struct seminfo* __buf;      // buffer for IPC_INFO
// };
// #endif

#include "Ttypes.h"



#include <getopt.h>
#ifdef __cplusplus
extern "C" {
#endif
  extern Tchar *optarg;
  extern Tint optind, opterr, optopt;

  extern Tchar** environ;
#ifdef __cplusplus
}
#endif

#include <syslog.h>
#include <stdarg.h>

#include "TUtilities.hh"

#endif
