/*
 * Win32 pipes
 *
 * Copyright 1998 Alexandre Julliard
 */

#include <assert.h>
#include "winerror.h"
#include "winbase.h"
#include "server.h"


/***********************************************************************
 *	CreatePipe    (KERNEL32.170)
 */
BOOL WINAPI CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe,
                          LPSECURITY_ATTRIBUTES sa, DWORD size )
{
    BOOL ret;
    SERVER_START_REQ
    {
        struct create_pipe_request *req = server_alloc_req( sizeof(*req), 0 );

        req->inherit = (sa && (sa->nLength>=sizeof(*sa)) && sa->bInheritHandle);
        if ((ret = !server_call( REQ_CREATE_PIPE )))
        {
            *hReadPipe  = req->handle_read;
            *hWritePipe = req->handle_write;
        }
    }
    SERVER_END_REQ;
    return ret;
}