LibreOffice
LibreOffice 5.3 SDK C/C++ API Reference
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros | Typedefs | Enumerations | Functions
pipe.h File Reference
#include <sal/config.h>
#include <osl/security.h>
#include <rtl/ustring.h>
#include <sal/saldllapi.h>

Go to the source code of this file.

Macros

#define osl_Pipe_OPEN   0x0000 /* open existing pipe */
 
#define osl_Pipe_CREATE   0x0001 /* create pipe and open it, fails if already exists */
 

Typedefs

typedef sal_uInt32 oslPipeOptions
 
typedef struct oslPipeImpl * oslPipe
 

Enumerations

enum  oslPipeError {
  osl_Pipe_E_None, osl_Pipe_E_NotFound, osl_Pipe_E_AlreadyExists, osl_Pipe_E_NoProtocol,
  osl_Pipe_E_NetworkReset, osl_Pipe_E_ConnectionAbort, osl_Pipe_E_ConnectionReset, osl_Pipe_E_NoBufferSpace,
  osl_Pipe_E_TimedOut, osl_Pipe_E_ConnectionRefused, osl_Pipe_E_invalidError, osl_Pipe_E_FORCE_EQUAL_SIZE = SAL_MAX_ENUM
}
 

Functions

SAL_DLLPUBLIC oslPipe osl_createPipe (rtl_uString *strPipeName, oslPipeOptions Options, oslSecurity Security)
 
SAL_DLLPUBLIC void osl_releasePipe (oslPipe)
 decreases the refcount of the pipe. More...
 
SAL_DLLPUBLIC void osl_acquirePipe (oslPipe Pipe)
 increases the refcount of the pipe. More...
 
SAL_DLLPUBLIC void osl_closePipe (oslPipe)
 closes the pipe, any read,write or accept actions stop immeadiatly. More...
 
SAL_DLLPUBLIC oslPipe osl_acceptPipe (oslPipe Pipe)
 
SAL_DLLPUBLIC sal_Int32 osl_sendPipe (oslPipe Pipe, const void *pBuffer, sal_Int32 BufferSize)
 
SAL_DLLPUBLIC sal_Int32 osl_receivePipe (oslPipe Pipe, void *pBuffer, sal_Int32 BufferSize)
 
SAL_DLLPUBLIC sal_Int32 osl_readPipe (oslPipe Pipe, void *pBuffer, sal_Int32 BufferSize)
 Reads blocking from the pipe. More...
 
SAL_DLLPUBLIC sal_Int32 osl_writePipe (oslPipe Pipe, const void *pBuffer, sal_Int32 BufferSize)
 Writes blocking onto the pipe. More...
 
SAL_DLLPUBLIC oslPipeError osl_getLastPipeError (oslPipe Pipe)
 

Macro Definition Documentation

#define osl_Pipe_CREATE   0x0001 /* create pipe and open it, fails if already exists */
#define osl_Pipe_OPEN   0x0000 /* open existing pipe */

Typedef Documentation

typedef struct oslPipeImpl* oslPipe
typedef sal_uInt32 oslPipeOptions

Enumeration Type Documentation

Enumerator
osl_Pipe_E_None 
osl_Pipe_E_NotFound 
osl_Pipe_E_AlreadyExists 
osl_Pipe_E_NoProtocol 
osl_Pipe_E_NetworkReset 
osl_Pipe_E_ConnectionAbort 
osl_Pipe_E_ConnectionReset 
osl_Pipe_E_NoBufferSpace 
osl_Pipe_E_TimedOut 
osl_Pipe_E_ConnectionRefused 
osl_Pipe_E_invalidError 
osl_Pipe_E_FORCE_EQUAL_SIZE 

Function Documentation

SAL_DLLPUBLIC oslPipe osl_acceptPipe ( oslPipe  Pipe)
SAL_DLLPUBLIC void osl_acquirePipe ( oslPipe  Pipe)

increases the refcount of the pipe.

SAL_DLLPUBLIC void osl_closePipe ( oslPipe  )

closes the pipe, any read,write or accept actions stop immeadiatly.

SAL_DLLPUBLIC oslPipe osl_createPipe ( rtl_uString *  strPipeName,
oslPipeOptions  Options,
oslSecurity  Security 
)
SAL_DLLPUBLIC oslPipeError osl_getLastPipeError ( oslPipe  Pipe)
SAL_DLLPUBLIC sal_Int32 osl_readPipe ( oslPipe  Pipe,
void *  pBuffer,
sal_Int32  BufferSize 
)

Reads blocking from the pipe.

Returns
Number of read bytes. If less than BufferSize, the pipe was closed.
SAL_DLLPUBLIC sal_Int32 osl_receivePipe ( oslPipe  Pipe,
void *  pBuffer,
sal_Int32  BufferSize 
)
SAL_DLLPUBLIC void osl_releasePipe ( oslPipe  )

decreases the refcount of the pipe.

If the refcount drops to zero, the handle is destroyed.

SAL_DLLPUBLIC sal_Int32 osl_sendPipe ( oslPipe  Pipe,
const void *  pBuffer,
sal_Int32  BufferSize 
)
SAL_DLLPUBLIC sal_Int32 osl_writePipe ( oslPipe  Pipe,
const void *  pBuffer,
sal_Int32  BufferSize 
)

Writes blocking onto the pipe.

Returns
Number of written bytes. If less than BufferSize, the pipe was closed.