small named pipe patch
Ove Kaaven
ovehk at ping.uio.no
Sat Jul 14 11:13:06 CDT 2001
When a named pipe name exist but all server instances are already
connected, CreateFile should return ERROR_PIPE_BUSY... and it seems
STATUS_PIPE_NOT_AVAILABLE is the most-used constant that maps to
ERROR_PIPE_BUSY when I looked at it on MSDN.
I'm planning to use named pipes to implement a basic interprocess COM, to
support the stupid InstallShield v6 under Wine, so it would be nice if
they could be implemented fully (would e.g. be nice if someone implemented
WaitForNamedPipe for me, and things like that).
(Would that be a good idea?)
Log:
Ove Kaaven <ovek at transgaming.com>
Added STATUS_* constant for named pipes. Return STATUS_PIPE_NOT_AVAILABLE
when opening a named pipe if the pipe exists but no instances of it are
currently waiting for a connection.
Index: include/winnt.h
===================================================================
RCS file: /home/wine/wine/include/winnt.h,v
retrieving revision 1.91
diff -u -r1.91 winnt.h
--- include/winnt.h 2001/06/22 23:43:09 1.91
+++ include/winnt.h 2001/07/14 15:40:37
@@ -1629,7 +1629,17 @@
#define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094
#define STATUS_INTEGER_OVERFLOW 0xC0000095
#define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096
-#define STATUS_MEDIA_WRITE_PROTECTED 0XC00000A2
+#define STATUS_MEDIA_WRITE_PROTECTED 0xC00000A2
+#define STATUS_INSTANCE_NOT_AVAILABLE 0xC00000AB
+#define STATUS_PIPE_NOT_AVAILABLE 0xC00000AC
+#define STATUS_INVALID_PIPE_STATE 0xC00000AD
+#define STATUS_PIPE_BUSY 0xC00000AE
+#define STATUS_ILLEGAL_FUNCTION 0xC00000AF
+#define STATUS_PIPE_DISCONNECTED 0xC00000B0
+#define STATUS_PIPE_CLOSING 0xC00000B1
+#define STATUS_PIPE_CONNECTED 0xC00000B2
+#define STATUS_PIPE_LISTENING 0xC00000B3
+#define STATUS_INVALID_READ_MODE 0xC00000B4
#define STATUS_INVALID_PARAMETER_2 0xC00000F0
#define STATUS_STACK_OVERFLOW 0xC00000FD
#define STATUS_DIRECTORY_NOT_EMPTY 0xC0000101
Index: server/named_pipe.c
===================================================================
RCS file: /home/wine/wine/server/named_pipe.c,v
retrieving revision 1.1
diff -u -r1.1 named_pipe.c
--- server/named_pipe.c 2001/07/10 19:16:50 1.1
+++ server/named_pipe.c 2001/07/14 15:40:37
@@ -264,7 +264,7 @@
release_object( partner );
}
else {
- set_error(STATUS_NO_SUCH_FILE);
+ set_error(STATUS_PIPE_NOT_AVAILABLE);
}
}
else {
More information about the wine-patches
mailing list