00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _OSL_PIPE_H_
00022 #define _OSL_PIPE_H_
00023
00024 #include "sal/config.h"
00025
00026 #include "osl/security.h"
00027 #include "rtl/ustring.h"
00028 #include "sal/saldllapi.h"
00029
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033
00034 typedef enum {
00035 osl_Pipe_E_None,
00036 osl_Pipe_E_NotFound,
00037 osl_Pipe_E_AlreadyExists,
00038 osl_Pipe_E_NoProtocol,
00039 osl_Pipe_E_NetworkReset,
00040 osl_Pipe_E_ConnectionAbort,
00041 osl_Pipe_E_ConnectionReset,
00042 osl_Pipe_E_NoBufferSpace,
00043 osl_Pipe_E_TimedOut,
00044 osl_Pipe_E_ConnectionRefused,
00045 osl_Pipe_E_invalidError,
00046 osl_Pipe_E_FORCE_EQUAL_SIZE = SAL_MAX_ENUM
00047 } oslPipeError;
00048
00049 typedef sal_uInt32 oslPipeOptions;
00050 #define osl_Pipe_OPEN 0x0000
00051 #define osl_Pipe_CREATE 0x0001
00052
00053 typedef struct oslPipeImpl * oslPipe;
00054
00057 SAL_DLLPUBLIC oslPipe SAL_CALL osl_createPipe(
00058 rtl_uString *strPipeName, oslPipeOptions Options, oslSecurity Security);
00059
00063 SAL_DLLPUBLIC void SAL_CALL osl_releasePipe( oslPipe );
00064
00067 SAL_DLLPUBLIC void SAL_CALL osl_acquirePipe( oslPipe Pipe );
00068
00071 SAL_DLLPUBLIC void SAL_CALL osl_closePipe( oslPipe );
00072
00073
00074 SAL_DLLPUBLIC oslPipe SAL_CALL osl_acceptPipe(oslPipe Pipe);
00075
00076 SAL_DLLPUBLIC sal_Int32 SAL_CALL osl_sendPipe(oslPipe Pipe, const void* pBuffer, sal_Int32 BufferSize);
00077 SAL_DLLPUBLIC sal_Int32 SAL_CALL osl_receivePipe(oslPipe Pipe, void* pBuffer, sal_Int32 BufferSize);
00078
00082 SAL_DLLPUBLIC sal_Int32 SAL_CALL osl_readPipe( oslPipe Pipe, void *pBuffer, sal_Int32 BufferSize );
00083
00087 SAL_DLLPUBLIC sal_Int32 SAL_CALL osl_writePipe( oslPipe Pipe, const void *pBuffer, sal_Int32 BufferSize );
00088
00089 SAL_DLLPUBLIC oslPipeError SAL_CALL osl_getLastPipeError(oslPipe Pipe);
00090
00091 #ifdef __cplusplus
00092 }
00093 #endif
00094
00095 #endif
00096
00097