X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/39236c6e673c41db228275375ab7fdb0f837b292..0a7de7458d150b5d4dffc935ba399be265ef0a1a:/bsd/man/man2/searchfs.2 diff --git a/bsd/man/man2/searchfs.2 b/bsd/man/man2/searchfs.2 index 456b8dc7b..b90765b34 100644 --- a/bsd/man/man2/searchfs.2 +++ b/bsd/man/man2/searchfs.2 @@ -16,7 +16,7 @@ .\" .\" @(#)searchfs.2 . -.Dd October 13, 2008 +.Dd November 16, 2017 .Dt SEARCHFS 2 .Os Darwin .Sh NAME @@ -26,7 +26,7 @@ .Fd #include .Fd #include .Ft int -.Fn searchfs "const char* path" "struct fssearchblock* searchBlock" "unsigned int* numMatches" "unsigned int scriptCode" "unsigned int options" "struct searchstate* state" +.Fn searchfs "const char* path" "struct fssearchblock* searchBlock" "unsigned long* numMatches" "unsigned int scriptCode" "unsigned int options" "struct searchstate* state" . .Sh DESCRIPTION The @@ -580,7 +580,9 @@ The parameter contains an invalid flag or sizeofsearchparams1/2 is greater than SEARCHFS_MAX_SEARCHPARMS (see attr.h). Additionally, filesystems that do not support SRCHFS_SKIPLINKS may return EINVAL if this search option -is requested. +is requested. EINVAL may also be returned if you request attributes for either +searching or to be returned for matched entries if the filesystem does not support +vending that particular attribute. . .It Bq Er EAGAIN The search terminated with partial results, either because @@ -609,17 +611,23 @@ An I/O error occurred while reading from or writing to the file system. . .Sh CAVEATS -The list of attributes that are valid as search criteria currently includes the -following list of attributes. Note that this list is substantially smaller than -what is available via +The list of attributes valid for searching and returning to the caller may +be substantially smaller than that of the .Xr getattrlist 2 -for a particular filesystem object. In general, a filesystem that supports +system call. See the following lists for the currently available search criteria. +In general, a filesystem that supports .Fn searchfs will typically supply per-item attributes for matched objects that are also supported by the .Xr getdirentries 2 system call. This varies from filesystem to filesystem. + +.Sh SEARCH ATTRIBUTES + +The list of attributes that are valid as search criteria currently includes the +following list of attributes for a particular filesystem object. + .Pp . .Bl -item -compact @@ -669,6 +677,97 @@ ATTR_FILE_RSRCLENGTH ATTR_FILE_RSRCALLOCSIZE .El . + +.Sh RETURN ATTRIBUTES + +As mentioned above, the list of attributes that are available to be returned to the caller +vary by filesystem, but should include the following attributes, in the following order. +The buffer should be assumed to be packed similar to the output buffer of the +.Xr getattrlist 2 +system call. Note that again, this list may be substantially smaller than what is available via +.Xr getattrlist 2 + +.Pp +. +.Bl -item -compact +.It +ATTR_CMN_NAME +.It +ATTR_CMN_DEVID +.It +ATTR_CMN_FSID +.It +ATTR_CMN_OBJTYPE +.It +ATTR_CMN_OBJTAG +.It +ATTR_CMN_OBJID +.It +ATTR_CMN_OBJPERMANENTID +.It +ATTR_CMN_PAROBJID +.It +ATTR_CMN_SCRIPT +.It +ATTR_CMN_CRTIME +.It +ATTR_CMN_MODTIME +.It +ATTR_CMN_CHGTIME +.It +ATTR_CMN_ACCTIME +.It +ATTR_CMN_BKUPTIME +.It +ATTR_CMN_FNDRINFO +.It +ATTR_CMN_OWNERID +.It +ATTR_CMN_GRPID +.It +ATTR_CMN_ACCESSMASK +.It +ATTR_CMN_FLAGS +.It +ATTR_CMN_USERACCESS +.It +ATTR_CMN_FILEID +.It +ATTR_CMN_PARENTID +.Pp +. +.It +ATTR_DIR_LINKCOUNT +.It +ATTR_DIR_ENTRYCOUNT +.It +ATTR_DIR_MOUNTSTATUS +.Pp +. +.It +ATTR_FILE_LINKCOUNT +.It +ATTR_FILE_TOTALSIZE +.It +ATTR_FILE_ALLOCSIZE +.It +ATTR_FILE_IOBLOCKSIZE +.It +ATTR_FILE_CLUMPSIZE +.It +ATTR_FILE_DEVTYPE +.It +ATTR_FILE_DATALENGTH +.It +ATTR_FILE_DATAALLOCSIZE +.It +ATTR_FILE_RSRCLENGTH +.It +ATTR_FILE_RSRCALLOCSIZE +.El +. + + .Sh EXAMPLES . The following code searches a volume for files of the specified type and creator. @@ -719,8 +818,8 @@ static int SearchFSDemo( SearchAttrBuf lower; SearchAttrBuf upper; static const unsigned char kAllOnes[4] = { 0xFF, 0xFF, 0xFF, 0xFF }; - unsigned int matchCount; - unsigned int matchIndex; + unsigned long matchCount; + unsigned long matchIndex; unsigned int options; searchstate_t state; ResultAttrBuf * thisEntry;