LibreOffice: osl/pipe.h File Reference

LibreOffice LibreOffice 5.0 SDK C/C++ API Reference

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

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 existst */

## 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 existst */

#define osl_Pipe_OPEN 0x0000 /* open existing pipe */

## Typedef Documentation

typedef struct oslPipeImpl* oslPipe

typedef sal_uInt32 oslPipeOptions

## Enumeration Type Documentation

enum oslPipeError

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.