(root)/
gcc-13.2.0/
gcc/
opts-jobserver.h
       1  /* GNU make's jobserver related functionality.
       2     Copyright (C) 2022-2023 Free Software Foundation, Inc.
       3  
       4  This file is part of GCC.
       5  
       6  GCC is free software; you can redistribute it and/or modify it under
       7  the terms of the GNU General Public License as published by the Free
       8  Software Foundation; either version 3, or (at your option) any later
       9  version.
      10  
      11  GCC is distributed in the hope that it will be useful, but WITHOUT ANY
      12  WARRANTY; without even the implied warranty of MERCHANTABILITY or
      13  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      14  for more details.
      15  
      16  You should have received a copy of the GNU General Public License
      17  along with GCC; see the file COPYING3.  If not see
      18  <http://www.gnu.org/licenses/>.
      19  
      20  See dbgcnt.def for usage information.  */
      21  
      22  #ifndef GCC_JOBSERVER_H
      23  #define GCC_JOBSERVER_H
      24  
      25  using namespace std;
      26  
      27  struct jobserver_info
      28  {
      29    /* Default constructor.  */
      30    jobserver_info ();
      31  
      32    /* Connect to the server.  */
      33    void connect ();
      34  
      35    /* Disconnect from the server.  */
      36    void disconnect ();
      37  
      38    /* Get token from the server.  */
      39    bool get_token ();
      40  
      41    /* Return token to the server.  */
      42    void return_token ();
      43  
      44    /* Error message if there is a problem.  */
      45    string error_msg = "";
      46    /* Skipped MAKEFLAGS where --jobserver-auth is skipped.  */
      47    string skipped_makeflags = "";
      48    /* File descriptor for reading used for jobserver communication.  */
      49    int rfd = -1;
      50    /* File descriptor for writing used for jobserver communication.  */
      51    int wfd = -1;
      52    /* Named pipe path.  */
      53    string pipe_path = "";
      54    /* Pipe file descriptor.  */
      55    int pipefd = -1;
      56    /* Return true if jobserver is active.  */
      57    bool is_active = false;
      58    /* Return true if communication with jobserver is working.  */
      59    bool is_connected = false;
      60  };
      61  
      62  #endif /* GCC_JOBSERVER_H */