blob: 1332460dd8801062a896fe3d0c5512da62bfe068 [file] [log] [blame]
Alexandre Julliard942e6d71998-12-30 12:08:20 +00001/*
2 * Win32 pipes
3 *
4 * Copyright 1998 Alexandre Julliard
5 */
6
7#include <assert.h>
Alexandre Julliard942e6d71998-12-30 12:08:20 +00008#include "winerror.h"
Alexandre Julliard96c08d81999-02-28 13:27:56 +00009#include "winbase.h"
Alexandre Julliard37e95032001-07-19 00:39:09 +000010#include "wine/server.h"
Alexandre Julliard942e6d71998-12-30 12:08:20 +000011
Alexandre Julliard942e6d71998-12-30 12:08:20 +000012
13/***********************************************************************
Patrik Stridvalldae8de62001-06-13 20:13:18 +000014 * CreatePipe (KERNEL32.@)
Alexandre Julliard942e6d71998-12-30 12:08:20 +000015 */
Alexandre Julliarda3960291999-02-26 11:11:13 +000016BOOL WINAPI CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe,
Alexandre Julliard942e6d71998-12-30 12:08:20 +000017 LPSECURITY_ATTRIBUTES sa, DWORD size )
18{
Alexandre Julliard9c2370b2000-08-30 00:00:48 +000019 BOOL ret;
Alexandre Julliard67a74992001-02-27 02:09:16 +000020 SERVER_START_REQ( create_pipe )
Alexandre Julliard9c2370b2000-08-30 00:00:48 +000021 {
Alexandre Julliard9c2370b2000-08-30 00:00:48 +000022 req->inherit = (sa && (sa->nLength>=sizeof(*sa)) && sa->bInheritHandle);
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000023 if ((ret = !wine_server_call_err( req )))
Alexandre Julliard9c2370b2000-08-30 00:00:48 +000024 {
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000025 *hReadPipe = reply->handle_read;
26 *hWritePipe = reply->handle_write;
Alexandre Julliard9c2370b2000-08-30 00:00:48 +000027 }
28 }
29 SERVER_END_REQ;
30 return ret;
Alexandre Julliard942e6d71998-12-30 12:08:20 +000031}