VirtualBox

Changeset 27613 in vbox for trunk/include/iprt/pipe.h


Ignore:
Timestamp:
Mar 23, 2010 1:12:54 AM (15 years ago)
Author:
vboxsync
Message:

iprt: Added RTPipeFromNative, implemented the windows version and added tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/pipe.h

    r27405 r27613  
    7070
    7171/**
     72 * Creates an IPRT pipe handle from a native one.
     73 *
     74 * Do NOT use the native handle after passing it to this function, IPRT owns it
     75 * and might even have closed in some cases (in order to gain some query
     76 * information access on Windows).
     77 *
     78 * @returns IPRT status code.
     79 * @param   phPipe          Where to return the pipe handle.
     80 * @param   hNativePipe     The native pipe handle.
     81 * @param   fFlags          Pipe flags, RTPIPE_N_XXX.
     82 */
     83RTDECL(int)  RTPipeFromNative(PRTPIPE phPipe, RTHCINTPTR hNativePipe, uint32_t fFlags);
     84
     85/** @name RTPipeFromNative flags.
     86 * @{ */
     87/** The read end. */
     88#define RTPIPE_N_READ               RT_BIT(0)
     89/** The write end. */
     90#define RTPIPE_N_WRITE              RT_BIT(1)
     91/** Make sure the pipe is inheritable if set and not inheritable when clear. */
     92#define RTPIPE_N_INHERIT            RT_BIT(2)
     93/** Mask of valid flags. */
     94#define RTPIPE_N_VALID_MASK         UINT32_C(0x00000003)
     95/** @} */
     96
     97/**
    7298 * Gets the native handle for an IPRT pipe handle.
    7399 *
    74  * @returns The native handle.
     100 * This is mainly for passing a pipe to a child and then closing the parent
     101 * handle.  IPRT also uses it internally to implement RTProcCreatEx and
     102 * RTPollSetAdd on some platforms.  Do NOT expect sane API behavior if used
     103 * for any other purpose.
     104 *
     105 * @returns The native handle. -1 on failure.
    75106 * @param   hPipe           The IPRT pipe handle.
    76107 */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette