mirror of
https://github.com/MidnightCommander/mc
synced 2025-01-03 10:04:32 +03:00
32 lines
897 B
C
32 lines
897 B
C
|
#ifndef PIPETHROUGH_H
|
||
|
#define PIPETHROUGH_H
|
||
|
|
||
|
/*@-protoparamname@*/
|
||
|
|
||
|
struct pipe_inbuffer {
|
||
|
/*@observer@*/ const void *data;
|
||
|
size_t size;
|
||
|
};
|
||
|
|
||
|
struct pipe_outbuffer {
|
||
|
/*@only@*/ /*@null@*/ void *data;
|
||
|
size_t size;
|
||
|
};
|
||
|
|
||
|
extern int pipethrough(const char *command,
|
||
|
const struct pipe_inbuffer *stdin_buf,
|
||
|
/*@out@*/ struct pipe_outbuffer *stdout_buf,
|
||
|
/*@out@*/ struct pipe_outbuffer *stderr_buf,
|
||
|
/*@out@*/ int *status)
|
||
|
/*@globals internalState, fileSystem, errno, stderr; @*/
|
||
|
/*@modifies internalState, fileSystem, errno, *stderr, *stdout_buf, *stderr_buf, *status; @*/;
|
||
|
|
||
|
extern void pipe_outbuffer_finalize(/*@special@*/ struct pipe_outbuffer *buf)
|
||
|
/*@modifies *buf; @*/
|
||
|
/*@releases buf->data; @*/
|
||
|
/*@ensures isnull buf->data; @*/;
|
||
|
|
||
|
/*@=protoparamname@*/
|
||
|
|
||
|
#endif
|