1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        unix/execute.h
3 // Purpose:     private details of wxExecute() implementation
4 // Author:      Vadim Zeitlin
5 // Id:          $Id: execute.h,v 1.1 2006/12/02 15:59:00 scara Exp $
6 // Copyright:   (c) 1998 Robert Roebling, Julian Smart, Vadim Zeitlin
7 // Licence:     wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9 
10 #ifndef _WX_UNIX_EXECUTE_H
11 #define _WX_UNIX_EXECUTE_H
12 
13 // if pid > 0, the execution is async and the data is freed in the callback
14 // executed when the process terminates, if pid < 0, the execution is
15 // synchronous and the caller (wxExecute) frees the data
16 struct wxEndProcessData
17 {
18     int pid,                // pid of the process
19         tag;                // port dependent value
20     wxProcess *process;     // if !NULL: notified on process termination
21     int  exitcode;          // the exit code
22 };
23 
24 // this function is called when the process terminates from port specific
25 // callback function and is common to all ports (src/unix/utilsunx.cpp)
26 extern void wxHandleProcessTermination(wxEndProcessData *proc_data);
27 
28 // this function is called to associate the port-specific callback with the
29 // child process. The return valus is port-specific.
30 extern int wxAddProcessCallback(wxEndProcessData *proc_data, int fd);
31 
32 #endif // _WX_UNIX_EXECUTE_H
33