|  | #ifndef TR2_DST_H | 
|  | #define TR2_DST_H | 
|  |  | 
|  | struct strbuf; | 
|  | #include "trace2/tr2_sysenv.h" | 
|  |  | 
|  | struct tr2_dst { | 
|  | enum tr2_sysenv_variable sysenv_var; | 
|  | int fd; | 
|  | unsigned int initialized : 1; | 
|  | unsigned int need_close : 1; | 
|  | unsigned int too_many_files : 1; | 
|  | }; | 
|  |  | 
|  | /* | 
|  | * Disable TRACE2 on the destination.  In TRACE2 a destination (DST) | 
|  | * wraps a file descriptor; it is associated with a TARGET which | 
|  | * defines the formatting. | 
|  | */ | 
|  | void tr2_dst_trace_disable(struct tr2_dst *dst); | 
|  |  | 
|  | /* | 
|  | * Return the file descriptor for the DST. | 
|  | * If 0, the dst is closed or disabled. | 
|  | */ | 
|  | int tr2_dst_get_trace_fd(struct tr2_dst *dst); | 
|  |  | 
|  | /* | 
|  | * Return true if the DST is opened for writing. | 
|  | */ | 
|  | int tr2_dst_trace_want(struct tr2_dst *dst); | 
|  |  | 
|  | /* | 
|  | * Write a single line/message to the trace file. | 
|  | */ | 
|  | void tr2_dst_write_line(struct tr2_dst *dst, struct strbuf *buf_line); | 
|  |  | 
|  | #endif /* TR2_DST_H */ |