suricata
util-path.c File Reference
#include "suricata-common.h"
#include "suricata.h"
#include "debug.h"
#include "util-debug.h"
#include "util-path.h"
Include dependency graph for util-path.c:

Go to the source code of this file.

Macros

#define DIRECTORY_SEPARATOR   '/'
 

Functions

int PathIsAbsolute (const char *path)
 Check if a path is absolute. More...
 
int PathIsRelative (const char *path)
 Check if a path is relative. More...
 
TmEcode PathJoin (char *out_buf, uint16_t buf_len, const char *const dir, const char *const fname)
 Wrapper to join a directory and filename and resolve using realpath _fullpath is used for WIN32. More...
 
int SCDefaultMkDir (const char *path)
 Wrapper around SCMkDir with default mode arguments. More...
 
int SCCreateDirectoryTree (const char *path, const bool final)
 Recursively create a directory. More...
 
bool SCPathExists (const char *path)
 Check if a path exists. More...
 
bool SCIsRegularDirectory (const struct dirent *const dir_entry)
 OS independent wrapper for directory check. More...
 
bool SCIsRegularFile (const struct dirent *const dir_entry)
 OS independent to check for regular file. More...
 
char * SCRealPath (const char *path, char *resolved_path)
 OS independent wrapper for realpath. More...
 
const char * SCBasename (const char *path)
 

Detailed Description

Author
Victor Julien victo.nosp@m.r@in.nosp@m.linia.nosp@m.c.ne.nosp@m.t

Definition in file util-path.c.

Macro Definition Documentation

◆ DIRECTORY_SEPARATOR

#define DIRECTORY_SEPARATOR   '/'

Definition at line 35 of file util-path.c.

Function Documentation

◆ PathIsAbsolute()

int PathIsAbsolute ( const char *  path)

Check if a path is absolute.

Parameters
pathstring with the path
Return values
1absolute
0not absolute

Definition at line 45 of file util-path.c.

Referenced by PathIsRelative().

Here is the caller graph for this function:

◆ PathIsRelative()

int PathIsRelative ( const char *  path)

Check if a path is relative.

Parameters
pathstring with the path
Return values
1relative
0not relative

Definition at line 70 of file util-path.c.

References PathIsAbsolute().

Referenced by ConfLoadCompleteIncludePath(), and DetectLoadCompleteSigPath().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PathJoin()

TmEcode PathJoin ( char *  out_buf,
uint16_t  buf_len,
const char *const  dir,
const char *const  fname 
)

Wrapper to join a directory and filename and resolve using realpath _fullpath is used for WIN32.

Parameters
out_bufoutput buffer. Up to PATH_MAX will be written. Unchanged on exit failure.
buf_lenlength of output buffer
dirthe directory
fnamethe filename
Return values
TM_ECODE_OKon success
TM_ECODE_FAILEDon failure

Definition at line 87 of file util-path.c.

References DIRECTORY_SEPARATOR, MAX, SC_ERR_SPRINTF, SCEnter, SCLogError, SCRealPath(), SCReturnInt, strlcpy(), TM_ECODE_FAILED, and TM_ECODE_OK.

Here is the call graph for this function:

◆ SCBasename()

const char* SCBasename ( const char *  path)

Definition at line 236 of file util-path.c.

References DIRECTORY_SEPARATOR.

◆ SCCreateDirectoryTree()

int SCCreateDirectoryTree ( const char *  path,
const bool  final 
)

Recursively create a directory.

Parameters
pathPath to create
finaltrue will create the final path component, false will not
Return values
0on success
-1on error

Definition at line 124 of file util-path.c.

References len, SCDefaultMkDir(), and strlcpy().

Here is the call graph for this function:

◆ SCDefaultMkDir()

int SCDefaultMkDir ( const char *  path)

Wrapper around SCMkDir with default mode arguments.

Definition at line 110 of file util-path.c.

References SCMkDir.

Referenced by SCCreateDirectoryTree().

Here is the caller graph for this function:

◆ SCIsRegularDirectory()

bool SCIsRegularDirectory ( const struct dirent *const  dir_entry)

OS independent wrapper for directory check.

Parameters
dir_entryobject to check
Return values
Trueif the object is a regular directory, otherwise false. This directory and parent directory will return false.

Definition at line 187 of file util-path.c.

◆ SCIsRegularFile()

bool SCIsRegularFile ( const struct dirent *const  dir_entry)

OS independent to check for regular file.

Parameters
dir_entryobject to check
Return values
Trueif the object is a regular file. Otherwise false.

Definition at line 205 of file util-path.c.

◆ SCPathExists()

bool SCPathExists ( const char *  path)

Check if a path exists.

Parameters
Pathto check for existence
Return values
trueif path exists
falseif path does not exist

Definition at line 170 of file util-path.c.

◆ SCRealPath()

char* SCRealPath ( const char *  path,
char *  resolved_path 
)

OS independent wrapper for realpath.

Parameters
paththe path to resolve
resolved_paththe resolved path; if null, a buffer will be allocated
Return values
theresolved_path; or a pointer to a new resolved_path buffer

Definition at line 221 of file util-path.c.

Referenced by PathJoin().

Here is the caller graph for this function: