summaryrefslogtreecommitdiffstats
path: root/winsup/cygserver/woutsup.h
blob: 5598c11c2b98249d106604b6d26995bb8b8118c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/* woutsup.h: for Cygwin code compiled outside the DLL (i.e. cygserver).

   Copyright 2002, 2003, 2007 Red Hat, Inc.

This file is part of Cygwin.

This software is a copyrighted work licensed under the terms of the
Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
details. */

#define _MT_SAFE 1

#ifdef __INSIDE_CYGWIN__
#error "woutsup.h is not for code being compiled inside the dll"
#endif

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0500
#endif

#if _WIN32_WINNT < 0x0500
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0500
#endif

#include "winlean.h"

#include "bsd_helper.h"
#include "bsd_log.h"
#include "bsd_mutex.h"

/* The one function we use from winuser.h most of the time */
extern "C" DWORD WINAPI GetLastError (void);

extern int cygserver_running;

#define SIGHANDLE(SIG)							\
  do									\
    {									\
      struct sigaction act;						\
									\
      act.sa_handler = &handle_signal;					\
      act.sa_mask = 0;							\
      act.sa_flags = 0;							\
									\
      if (sigaction (SIG, &act, NULL) == -1)				\
	{								\
	  panic ("failed to install handler for " #SIG ": %s",		\
		 strerror (errno));					\
	  exit (1);							\
	}								\
    } while (false)

#define debug_printf(f,...)	debug((f),##__VA_ARGS__)
#define syscall_printf(f,...)	log(LOG_ERR,(f),##__VA_ARGS__)
#define system_printf(f,...)	log(LOG_ERR,(f),##__VA_ARGS__)