123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- {*
- * gspawn.inc
- *
- * depends on gerror.inc
- *}
- { I'm not sure I remember our proposed naming convention here. }
- function G_SPAWN_ERROR : TGQuark;
- type
- PGSpawnError = ^TGSpawnError;
- TGSpawnError = (G_SPAWN_ERROR_FORK,
- G_SPAWN_ERROR_READ,
- G_SPAWN_ERROR_CHDIR,
- G_SPAWN_ERROR_ACCES,
- G_SPAWN_ERROR_PERM,
- G_SPAWN_ERROR_2BIG,
- G_SPAWN_ERROR_NOEXEC,
- G_SPAWN_ERROR_NAMETOOLONG,
- G_SPAWN_ERROR_NOENT,
- G_SPAWN_ERROR_NOMEM,
- G_SPAWN_ERROR_NOTDIR,
- G_SPAWN_ERROR_LOOP,
- G_SPAWN_ERROR_TXTBUSY,
- G_SPAWN_ERROR_IO,
- G_SPAWN_ERROR_NFILE,
- G_SPAWN_ERROR_MFILE,
- G_SPAWN_ERROR_INVAL,
- G_SPAWN_ERROR_ISDIR,
- G_SPAWN_ERROR_LIBBAD,
- G_SPAWN_ERROR_FAILED);
- TGSpawnChildSetupFunc = procedure (user_data:gpointer);cdecl;
- { look for argv[0] in the path i.e. use execvp() }
- { Dump output to /dev/null }
- PGSpawnFlags = ^TGSpawnFlags;
- TGSpawnFlags = integer;
- const
- G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1 shl 0;
- G_SPAWN_DO_NOT_REAP_CHILD = 1 shl 1;
- G_SPAWN_SEARCH_PATH = 1 shl 2;
- G_SPAWN_STDOUT_TO_DEV_NULL = 1 shl 3;
- G_SPAWN_STDERR_TO_DEV_NULL = 1 shl 4;
- G_SPAWN_CHILD_INHERITS_STDIN = 1 shl 5;
- G_SPAWN_FILE_AND_ARGV_ZERO = 1 shl 6;
- function g_spawn_error_quark:TGQuark;cdecl;external gliblib name 'g_spawn_error_quark';
- function g_spawn_async(working_directory:Pgchar; argv:PPgchar; envp:PPgchar; flags:TGSpawnFlags; child_setup:TGSpawnChildSetupFunc;
- user_data:gpointer; child_pid:Pgint; error:PPGError):gboolean;cdecl;external gliblib name 'g_spawn_async';
- { Opens pipes for non-NULL standard_output, standard_input, standard_error,
- and returns the parent's end of the pipes.
- }
- function g_spawn_async_with_pipes(working_directory:Pgchar; argv:PPgchar; envp:PPgchar; flags:TGSpawnFlags; child_setup:TGSpawnChildSetupFunc;
- user_data:gpointer; child_pid:Pgint; standard_input:Pgint; standard_output:Pgint; standard_error:Pgint;
- error:PPGError):gboolean;cdecl;external gliblib name 'g_spawn_async_with_pipes';
- { If standard_output or standard_error are non-NULL, the full
- standard output or error of the command will be placed there.
- }
- function g_spawn_sync(working_directory:Pgchar; argv:PPgchar; envp:PPgchar; flags:TGSpawnFlags; child_setup:TGSpawnChildSetupFunc;
- user_data:gpointer; standard_output:PPgchar; standard_error:PPgchar; exit_status:Pgint; error:PPGError):gboolean;cdecl;external gliblib name 'g_spawn_sync';
- function g_spawn_command_line_sync(command_line:Pgchar; standard_output:PPgchar; standard_error:PPgchar; exit_status:Pgint; error:PPGError):gboolean;cdecl;external gliblib name 'g_spawn_command_line_sync';
- function g_spawn_command_line_async(command_line:Pgchar; error:PPGError):gboolean;cdecl;external gliblib name 'g_spawn_command_line_async';
|