VirtualBox

Changeset 57613 in vbox for trunk/include/iprt/path.h


Ignore:
Timestamp:
Sep 4, 2015 2:19:44 AM (9 years ago)
Author:
vboxsync
Message:

IPRT,UINetworkReply.cpp: Added RTPathGlob, a set of RTCrStoreCertAddWantedDir/File/Store, a RTCrStoreCertAddWantedFromFishingExpedition, RTCrStoreCertCheckWanted, RTCrStoreCertCount, RTFsIsCaseSensitive and RTFileOpenTemp. Reworked some RTHttp bits and UINetworkReply stuff - this needs testing.

File:
1 edited

Legend:

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

    r57572 r57613  
    601601 * The first component is the root, volume or UNC specifier, if present.  Use
    602602 * RTPATH_PROP_HAS_ROOT_SPEC() on RTPATHPARSED::fProps to determine its
    603  * precense.
     603 * presence.
    604604 *
    605605 * Other than the root component, no component will include directory separators
     
    11721172RTDECL(int) RTPathTemp(char *pszPath, size_t cchPath);
    11731173
     1174
     1175/**
     1176 * RTPathGlobl result entry.
     1177 */
     1178typedef struct RTPATHGLOBENTRY
     1179{
     1180    /** List entry. */
     1181    struct RTPATHGLOBENTRY *pNext;
     1182    /** RTDIRENTRYTYPE value. */
     1183    uint8_t                 uType;
     1184    /** Unused explicit padding. */
     1185    uint8_t                 bUnused;
     1186    /** The length of the path. */
     1187    uint16_t                cchPath;
     1188    /** The path to the file (variable length). */
     1189    char                    szPath[1];
     1190} RTPATHGLOBENTRY;
     1191/** Pointer to a GLOB result entry. */
     1192typedef RTPATHGLOBENTRY *PRTPATHGLOBENTRY;
     1193/** Pointer to a const GLOB result entry. */
     1194typedef RTPATHGLOBENTRY const *PCRTPATHGLOBENTRY;
     1195/** Pointer to a GLOB result entry pointer. */
     1196typedef PCRTPATHGLOBENTRY *PPCRTPATHGLOBENTRY;
     1197
     1198/**
     1199 * Performs wildcard expansion on a path pattern.
     1200 *
     1201 * @returns IPRT status code.
     1202 *
     1203 * @param   pszPattern      The pattern to expand.
     1204 * @param   fFlags          RTPATHGLOB_F_XXX.
     1205 * @param   ppHead          Where to return the head of the result list.  This
     1206 *                          is always set to NULL on failure.
     1207 * @param   pcResults       Where to return the number of the result. Optional.
     1208 */
     1209RTDECL(int) RTPathGlob(const char *pszPattern, uint32_t fFlags, PPCRTPATHGLOBENTRY ppHead, uint32_t *pcResults);
     1210
     1211/** @name RTPATHGLOB_F_XXX - RTPathGlob flags
     1212 *  @{ */
     1213/** Case insensitive. */
     1214#define RTPATHGLOB_F_IGNORE_CASE        RT_BIT_32(0)
     1215/** Do not expand \${EnvOrSpecialVariable} in the pattern. */
     1216#define RTPATHGLOB_F_NO_VARIABLES       RT_BIT_32(1)
     1217/** Do not interpret a leading tilde as a home directory reference. */
     1218#define RTPATHGLOB_F_NO_TILDE           RT_BIT_32(2)
     1219/** Only return the first match. */
     1220#define RTPATHGLOB_F_FIRST_ONLY         RT_BIT_32(3)
     1221/** Only match directories (implied if pattern ends with slash). */
     1222#define RTPATHGLOB_F_ONLY_DIRS          RT_BIT_32(4)
     1223/** Do not match directories.  (Can't be used with RTPATHGLOB_F_ONLY_DIRS or
     1224 * patterns containing a trailing slash.) */
     1225#define RTPATHGLOB_F_NO_DIRS            RT_BIT_32(5)
     1226/** Disables the '**' wildcard pattern for matching zero or more subdirs. */
     1227#define RTPATHGLOB_F_NO_STARSTAR        RT_BIT_32(6)
     1228/** Mask of valid flags. */
     1229#define RTPATHGLOB_F_MASK               UINT32_C(0x0000007f)
     1230/** @} */
     1231
     1232/**
     1233 * Frees the results produced by RTPathGlob.
     1234 *
     1235 * @param   pHead           What RTPathGlob returned.  NULL ignored.
     1236 */
     1237RTDECL(void) RTPathGlobFree(PCRTPATHGLOBENTRY pHead);
     1238
     1239
    11741240/**
    11751241 * Query information about a file system object.
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