summaryrefslogtreecommitdiff
path: root/TSRM/tsrm_win32.h
blob: c26c8f950657f42293baf88942ef62c6c10a8a5b (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
/*
   +----------------------------------------------------------------------+
   | PHP version 4.0                                                      |
   +----------------------------------------------------------------------+
   | Copyright (c) 1997, 1998, 1999, 2000 The PHP Group                   |
   +----------------------------------------------------------------------+
   | This source file is subject to version 2.02 of the PHP license,      |
   | that is bundled with this package in the file LICENSE, and is        |
   | available at through the world-wide-web at                           |
   | http://www.php.net/license/2_02.txt.                                 |
   | If you did not receive a copy of the PHP license and are unable to   |
   | obtain it through the world-wide-web, please send a note to          |
   | license@php.net so we can mail you a copy immediately.               |
   +----------------------------------------------------------------------+
   | Authors: Daniel Beulshausen <daniel@php4win.de>                      |
   +----------------------------------------------------------------------+
*/

/* $Id$ */

#ifndef TSRM_WIN32_H
#define TSRM_WIN32_H

#include "TSRM.h"

#ifdef TSRM_WIN32
#include <windows.h>
typedef struct {
	FILE *stream;
	HANDLE prochnd;
	int inuse;
} ProcessPair;

typedef struct {
	ProcessPair *process;
	int process_size;
	char *comspec;
} tsrm_win32_globals;

#ifdef ZTS
# define TWG(v) (win32_globals->v)
# define TWLS_FETCH() tsrm_win32_globals *win32_globals = ts_resource(win32_globals_id)
#else
# define TWG(v) (win32_globals.v)
# define TWLS_FETCH()
#endif
#endif

TSRM_API void tsrm_win32_startup(void);
TSRM_API void tsrm_win32_shutdown(void);
TSRM_API FILE* popen(const char *command, const char *type);
TSRM_API int pclose(FILE* stream);

#endif