File and path manipulation helper functions.
More...
|
| enum | rpmCompressedMagic_e {
COMPRESSED_NOT = 0
, COMPRESSED_OTHER = 1
, COMPRESSED_BZIP2 = 2
, COMPRESSED_ZIP = 3
,
COMPRESSED_LZMA = 4
, COMPRESSED_XZ = 5
, COMPRESSED_LZIP = 6
, COMPRESSED_LRZIP = 7
,
COMPRESSED_7ZIP = 8
, COMPRESSED_GEM = 9
, COMPRESSED_ZSTD = 10
} |
| |
| enum | rpmglobFlags_e { RPMGLOB_NONE = 0
, RPMGLOB_NOCHECK = (1 << 0)
} |
| |
|
| int | rpmDoDigest (int algo, const char *fn, int asAscii, unsigned char *digest) |
| |
| FD_t | rpmMkTemp (char *templ) |
| |
| FD_t | rpmMkTempFile (const char *prefix, char **fn) |
| |
| int | rpmioMkpath (const char *path, mode_t mode, uid_t uid, gid_t gid) |
| |
| int | rpmMkdirs (const char *root, const char *pathstr) |
| |
| char * | rpmCleanPath (char *path) |
| |
| char * | rpmGenPath (const char *urlroot, const char *urlmdir, const char *urlfile) |
| |
| char * | rpmGetPath (const char *path,...) RPM_GNUC_NULL_TERMINATED |
| |
| int | rpmGlobPath (const char *pattern, rpmglobFlags flags, int *argcPtr, ARGV_t *argvPtr) |
| |
| int | rpmGlob (const char *pattern, int *argcPtr, ARGV_t *argvPtr) |
| |
| char * | rpmEscapeSpaces (const char *s) |
| |
| char * | rpmEscape (const char *s, const char *accept) |
| |
| void | rpmUnescape (char *s, const char *accept) |
| |
| int | rpmFileIsCompressed (const char *file, rpmCompressedMagic *compressed) |
| |
| int | rpmFileHasSuffix (const char *path, const char *suffix) |
| |
| char * | rpmGetCwd (void) |
| |
File and path manipulation helper functions.
◆ rpmCompressedMagic
Compression types detected by rpm (subject to build configuration).
◆ rpmCompressedMagic_e
Compression types detected by rpm (subject to build configuration).
| Enumerator |
|---|
| COMPRESSED_NOT | not compressed
|
| COMPRESSED_OTHER | gzip can handle
|
| COMPRESSED_BZIP2 | bzip2 can handle
|
| COMPRESSED_ZIP | unzip can handle
|
| COMPRESSED_LZMA | lzma can handle
|
| COMPRESSED_XZ | xz can handle
|
| COMPRESSED_LZIP | lzip can handle
|
| COMPRESSED_LRZIP | lrzip can handle
|
| COMPRESSED_7ZIP | 7zip can handle
|
| COMPRESSED_GEM | gem can handle
|
| COMPRESSED_ZSTD | zstd can handle
|
◆ rpmglobFlags_e
RPM glob flags, largely modelled after glob(3) flags.
| Enumerator |
|---|
| RPMGLOB_NOCHECK | same as GLOB_NOCHECK
|
◆ rpmCleanPath()
| char * rpmCleanPath |
( |
char * | path | ) |
|
Canonicalize file path.
- Parameters
-
| path | path to canonicalize (in-place) |
- Returns
- pointer to path
◆ rpmDoDigest()
| int rpmDoDigest |
( |
int | algo, |
|
|
const char * | fn, |
|
|
int | asAscii, |
|
|
unsigned char * | digest ) |
Calculate a file digest and size.
- Parameters
-
| algo | digest algorithm |
| fn | file name |
| asAscii | return digest as ascii string? |
| [out] | digest | address of calculated digest |
- Returns
- 0 on success, 1 on error
◆ rpmEscape()
| char * rpmEscape |
( |
const char * | s, |
|
|
const char * | accept ) |
Escape given characters in string.
- Parameters
-
| s | string |
| accept | chars to escape |
- Returns
- escaped string
◆ rpmEscapeSpaces()
| char * rpmEscapeSpaces |
( |
const char * | s | ) |
|
Escape isspace(3) characters in string.
- Parameters
-
- Returns
- escaped string
◆ rpmFileHasSuffix()
| int rpmFileHasSuffix |
( |
const char * | path, |
|
|
const char * | suffix ) |
Check if path (string) ends with given suffix
- Parameters
-
| path | (path) string |
| suffix | suffix string to check for |
- Returns
- 1 if true, 0 otherwise
◆ rpmFileIsCompressed()
Return type of compression used in file.
- Parameters
-
| file | name of file |
| [out] | compressed | address of compression type |
- Returns
- 0 on success, 1 on I/O error
◆ rpmGenPath()
| char * rpmGenPath |
( |
const char * | urlroot, |
|
|
const char * | urlmdir, |
|
|
const char * | urlfile ) |
Merge 3 args into path, any or all of which may be a url. The leading part of the first URL encountered is used for the result, other URL prefixes are discarded, permitting a primitive form of URL inheiritance.
- Parameters
-
| urlroot | root URL (often path to chroot, or NULL) |
| urlmdir | directory URL (often a directory, or NULL) |
| urlfile | file URL (often a file, or NULL) |
- Returns
- expanded, merged, canonicalized path (malloc'ed)
◆ rpmGetCwd()
| char * rpmGetCwd |
( |
void | | ) |
|
Like getcwd() but the result is malloced.
- Returns
- current working directory (malloc'ed)
◆ rpmGetPath()
| char * rpmGetPath |
( |
const char * | path, |
|
|
| ... ) |
Return (malloc'ed) expanded, canonicalized, file path.
- Parameters
-
| path | macro(s) to expand (NULL terminates list) |
- Returns
- canonicalized path (malloc'ed)
◆ rpmGlob()
| int rpmGlob |
( |
const char * | pattern, |
|
|
int * | argcPtr, |
|
|
ARGV_t * | argvPtr ) |
Expand a glob pattern into matching paths, fail if nothing matches.
- Parameters
-
| pattern | glob pattern |
| [out] | *argcPtr | no. of paths |
| [out] | *argvPtr | ARGV_t array of paths |
- Returns
- 0 on success
◆ rpmGlobPath()
| int rpmGlobPath |
( |
const char * | pattern, |
|
|
rpmglobFlags | flags, |
|
|
int * | argcPtr, |
|
|
ARGV_t * | argvPtr ) |
Expand a glob pattern into matching paths. When RPMGLOB_NOCHECK is specified, non-matching and non-glob patterns are returned as is.
- Parameters
-
| pattern | glob pattern |
| flags | bit(s) to control glob operation |
| [out] | *argcPtr | no. of paths |
| [out] | *argvPtr | ARGV_t array of paths |
- Returns
- 0 on success
◆ rpmioMkpath()
| int rpmioMkpath |
( |
const char * | path, |
|
|
mode_t | mode, |
|
|
uid_t | uid, |
|
|
gid_t | gid ) |
Insure that directories in path exist, creating as needed.
- Parameters
-
| path | directory path |
| mode | directory mode (if created) |
| uid | directory uid (if created), or -1 to skip |
| gid | directory uid (if created), or -1 to skip |
- Returns
- 0 on success, errno (or -1) on error
◆ rpmMkdirs()
| int rpmMkdirs |
( |
const char * | root, |
|
|
const char * | pathstr ) |
Create several directories (including parents if needed) in one go. Macros in pathstr will be expanded in the process.
- Parameters
-
| root | leading root directory (or NULL for none) |
| pathstr | list of directories separated with : |
- Returns
- 0 if all directories were successfully created (or already existed), non-zero otherwise
◆ rpmMkTemp()
| FD_t rpmMkTemp |
( |
char * | templ | ) |
|
Thin wrapper for mkstemp(3).
- Parameters
-
| templ | template for temporary filename |
- Returns
- file handle or NULL on error
◆ rpmMkTempFile()
| FD_t rpmMkTempFile |
( |
const char * | prefix, |
|
|
char ** | fn ) |
Return file handle for a temporaray file. A unique temporaray file path will be created in [prefix/]%{_tmppath} directory. The file name and the open file handle are returned.
- Parameters
-
| prefix | leading part of temp file path |
| [out] | fn | temp file name (or NULL) |
- Returns
- fdptr open file handle or NULL on error
◆ rpmUnescape()
| void rpmUnescape |
( |
char * | s, |
|
|
const char * | accept ) |
Unescape each char listed in accept by removing a backslash preceding it.
- Parameters
-
| s | string |
| accept | chars to unescape (NULL for all) |