17 #ifndef REMAKE_OUTPUT_H 18 #define REMAKE_OUTPUT_H 30 #define FD_STDIN (fileno (stdin)) 31 #define FD_STDOUT (fileno (stdout)) 32 #define FD_STDERR (fileno (stderr)) 34 #define OUTPUT_SET(_new) do{ output_context = (_new)->syncout ? (_new) : NULL; }while(0) 35 #define OUTPUT_UNSET() do{ output_context = NULL; }while(0) 37 #define OUTPUT_TRACED() do{ stdio_traced = 1; }while(0) 38 #define OUTPUT_IS_TRACED() (!!stdio_traced) 42 int output_write (
int fd,
const void *buffer,
size_t len);
54 void outputs (
int is_err,
const char *msg);
56 #if defined(HAVE_FCNTL_H) 58 #elif defined(HAVE_SYS_FILE_H) 59 # include <sys/file.h> 63 # define RECORD_SYNC_MUTEX(m) \ 65 _("-O[TYPE] (--output-sync[=TYPE]) is not configured for this build.")); 95 int fcntl (intptr_t fd,
int cmd, ...);
96 intptr_t create_mutex (
void);
97 int same_stream (FILE *f1, FILE *f2);
99 # define RECORD_SYNC_MUTEX(m) record_sync_mutex(m) 100 void record_sync_mutex (
const char *str);
101 void prepare_mutex_handle_string (intptr_t hdl);
106 # define RECORD_SYNC_MUTEX(m) (void)(m)
int output_write(int fd, const void *buffer, size_t len)
int sync_handle_t
Definition: output.h:104
struct output * output_context
void output_close(struct output *out)
int err
Definition: output.h:23
void output_init(struct output *out)
unsigned int syncout
Definition: output.h:24
int out
Definition: output.h:22
unsigned int stdio_traced
void outputs(int is_err, const char *msg)
void output_dump(struct output *out)