(root)/
glib-2.79.0/
gio/
gsubprocesslauncher-private.h
       1  /* GIO - GLib Input, Output and Streaming Library
       2   * 
       3   * Copyright (C) 2012 Colin Walters <walters@verbum.org>
       4   *
       5   * SPDX-License-Identifier: LGPL-2.1-or-later
       6   *
       7   * This library is free software; you can redistribute it and/or
       8   * modify it under the terms of the GNU Lesser General Public
       9   * License as published by the Free Software Foundation; either
      10   * version 2.1 of the License, or (at your option) any later version.
      11   *
      12   * This library is distributed in the hope that it will be useful,
      13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
      14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      15   * Lesser General Public License for more details.
      16   *
      17   * You should have received a copy of the GNU Lesser General
      18   * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
      19   */
      20  
      21  #ifndef __G_SUBPROCESS_CONTEXT_PRIVATE_H__
      22  #define __G_SUBPROCESS_CONTEXT_PRIVATE_H__
      23  
      24  #include "gsubprocesslauncher.h"
      25  
      26  G_BEGIN_DECLS
      27  
      28  struct _GSubprocessLauncher
      29  {
      30    GObject parent;
      31  
      32    GSubprocessFlags flags;
      33    char **envp;
      34    char *cwd;
      35  
      36  #ifdef G_OS_UNIX
      37    gint stdin_fd;
      38    gchar *stdin_path;
      39  
      40    gint stdout_fd;
      41    gchar *stdout_path;
      42  
      43    gint stderr_fd;
      44    gchar *stderr_path;
      45  
      46    GArray *source_fds;  /* GSubprocessLauncher has ownership of the FD elements */
      47    GArray *target_fds;  /* always the same length as source_fds; elements are just integers and not FDs in this process */
      48    gboolean closed_fd;
      49  
      50    GSpawnChildSetupFunc child_setup_func;
      51    gpointer child_setup_user_data;
      52    GDestroyNotify child_setup_destroy_notify;
      53  #endif
      54  };
      55  
      56  void g_subprocess_set_launcher (GSubprocess         *subprocess,
      57                                  GSubprocessLauncher *launcher);
      58  
      59  G_END_DECLS
      60  
      61  #endif