Imported Upstream version 201104
[platform/upstream/boost-jam.git] / execcmd.h
1 /*
2  * Copyright 1993, 1995 Christopher Seiwald.
3  *
4  * This file is part of Jam - see jam.c for Copyright information.
5  */
6
7 /*
8  * execcmd.h - execute a shell script.
9  *
10  * Defines the interface to be implemented in platform specific implementation
11  * modules.
12  *
13  * 05/04/94 (seiwald) - async multiprocess interface
14  */
15
16 #ifndef EXECCMD_H
17 #define EXECCMD_H
18
19 #include <time.h>
20
21 typedef struct timing_info
22 {
23     double system;
24     double user;
25     time_t start;
26     time_t end;
27 } timing_info;
28
29 void exec_cmd
30 (
31     char * string,
32     void (* func)( void * closure, int status, timing_info *, char *, char * ),
33     void * closure,
34     LIST * shell,
35     char * action,
36     char * target
37 );
38
39 int exec_wait();
40
41 #define EXEC_CMD_OK    0
42 #define EXEC_CMD_FAIL  1
43 #define EXEC_CMD_INTR  2
44
45 #endif