mc/src/pipethrough.h

32 lines
897 B
C
Raw Normal View History

#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