00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __G_SPAWN_H__
00022 #define __G_SPAWN_H__
00023
00024 #include <gerror.h>
00025
00026 G_BEGIN_DECLS
00027
00028
00029 #define G_SPAWN_ERROR g_spawn_error_quark ()
00030
00031 typedef enum
00032 {
00033 G_SPAWN_ERROR_FORK,
00034 G_SPAWN_ERROR_READ,
00035 G_SPAWN_ERROR_CHDIR,
00036 G_SPAWN_ERROR_ACCES,
00037 G_SPAWN_ERROR_PERM,
00038 G_SPAWN_ERROR_2BIG,
00039 G_SPAWN_ERROR_NOEXEC,
00040 G_SPAWN_ERROR_NAMETOOLONG,
00041 G_SPAWN_ERROR_NOENT,
00042 G_SPAWN_ERROR_NOMEM,
00043 G_SPAWN_ERROR_NOTDIR,
00044 G_SPAWN_ERROR_LOOP,
00045 G_SPAWN_ERROR_TXTBUSY,
00046 G_SPAWN_ERROR_IO,
00047 G_SPAWN_ERROR_NFILE,
00048 G_SPAWN_ERROR_MFILE,
00049 G_SPAWN_ERROR_INVAL,
00050 G_SPAWN_ERROR_ISDIR,
00051 G_SPAWN_ERROR_LIBBAD,
00052 G_SPAWN_ERROR_FAILED
00053
00054
00055 } GSpawnError;
00056
00057 typedef void (* GSpawnChildSetupFunc) (gpointer user_data);
00058
00059 typedef enum
00060 {
00061 G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1 << 0,
00062 G_SPAWN_DO_NOT_REAP_CHILD = 1 << 1,
00063
00064 G_SPAWN_SEARCH_PATH = 1 << 2,
00065
00066 G_SPAWN_STDOUT_TO_DEV_NULL = 1 << 3,
00067 G_SPAWN_STDERR_TO_DEV_NULL = 1 << 4,
00068 G_SPAWN_CHILD_INHERITS_STDIN = 1 << 5
00069 } GSpawnFlags;
00070
00071 GQuark g_spawn_error_quark (void);
00072
00073 gboolean g_spawn_async (const gchar *working_directory,
00074 gchar **argv,
00075 gchar **envp,
00076 GSpawnFlags flags,
00077 GSpawnChildSetupFunc child_setup,
00078 gpointer user_data,
00079 gint *child_pid,
00080 GError **error);
00081
00082
00083
00084
00085
00086 gboolean g_spawn_async_with_pipes (const gchar *working_directory,
00087 gchar **argv,
00088 gchar **envp,
00089 GSpawnFlags flags,
00090 GSpawnChildSetupFunc child_setup,
00091 gpointer user_data,
00092 gint *child_pid,
00093 gint *standard_input,
00094 gint *standard_output,
00095 gint *standard_error,
00096 GError **error);
00097
00098
00099
00100
00101
00102
00103 gboolean g_spawn_sync (const gchar *working_directory,
00104 gchar **argv,
00105 gchar **envp,
00106 GSpawnFlags flags,
00107 GSpawnChildSetupFunc child_setup,
00108 gpointer user_data,
00109 gchar **standard_output,
00110 gchar **standard_error,
00111 gint *exit_status,
00112 GError **error);
00113
00114 gboolean g_spawn_command_line_sync (const gchar *command_line,
00115 gchar **standard_output,
00116 gchar **standard_error,
00117 gint *exit_status,
00118 GError **error);
00119 gboolean g_spawn_command_line_async (const gchar *command_line,
00120 GError **error);
00121
00122
00123 G_END_DECLS
00124
00125 #endif
00126
00127