osl/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.

Defines

#define osl_Pipe_OPEN   0x0000
#define osl_Pipe_CREATE   0x0001

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.
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_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.
SAL_DLLPUBLIC sal_Int32 osl_writePipe (oslPipe Pipe, const void *pBuffer, sal_Int32 BufferSize)
 Writes blocking onto the pipe.
SAL_DLLPUBLIC oslPipeError osl_getLastPipeError (oslPipe Pipe)

Define Documentation

#define osl_Pipe_CREATE   0x0001
#define osl_Pipe_OPEN   0x0000

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.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Oct 2014 by  doxygen 1.6.1