2015-12-13 18:32:52 +03:00
/*
* Unix SMB / CIFS implementation .
* Samba utility functions
* Copyright ( C ) Andrew Tridgell 1992 - 1998
* Copyright ( C ) Jeremy Allison 2001 - 2007
* Copyright ( C ) Simo Sorce 2001
* Copyright ( C ) Jim McDonough < jmcd @ us . ibm . com > 2003
* Copyright ( C ) James Peach 2006
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# ifndef __LIB_UTIL_PATH_H__
# define __LIB_UTIL_PATH_H__
2018-08-16 11:51:44 +03:00
# include "replace.h"
# include <talloc.h>
2022-09-17 20:13:27 +03:00
# include "lib/util/time.h"
/*
* Timestamp format used in " previous versions " :
* This is the windows - level format of the @ GMT - token .
* It is a fixed format not to be confused with the
* format for the POSIX - Level token of the shadow_copy2
* VFS module that can be configured via the " shadow:format "
* configuration option but defaults to the same format .
* See the shadow_copy2 module .
*/
# define GMT_NAME_LEN 24 /* length of a @GMT- name */
# define GMT_FORMAT "@GMT-%Y.%m.%d-%H.%M.%S"
2018-08-16 11:51:44 +03:00
char * lock_path ( TALLOC_CTX * mem_ctx , const char * name ) ;
2018-08-16 11:51:44 +03:00
char * state_path ( TALLOC_CTX * mem_ctx , const char * name ) ;
2018-08-16 11:51:44 +03:00
char * cache_path ( TALLOC_CTX * mem_ctx , const char * name ) ;
2017-01-17 22:33:18 +03:00
char * canonicalize_absolute_path ( TALLOC_CTX * ctx , const char * abs_path ) ;
2022-09-17 20:13:27 +03:00
bool extract_snapshot_token ( char * fname , NTTIME * twrp ) ;
2022-12-16 00:26:49 +03:00
bool clistr_smb2_extract_snapshot_token ( char * fname , NTTIME * twrp ) ;
2022-12-15 21:14:48 +03:00
bool clistr_is_previous_version_path ( const char * path ) ;
2022-10-15 14:29:14 +03:00
bool subdir_of ( const char * parent ,
size_t parent_len ,
const char * subdir ,
const char * * _relative ) ;
2024-01-23 14:29:36 +03:00
char * path_to_strv ( TALLOC_CTX * mem_ctx , const char * path ) ;
2015-12-13 18:32:52 +03:00
# endif