xref: /haiku/headers/private/storage/storage_support.h (revision 82b7566525184ba7b76dda94b7ad469a7a65b04c)
152a38012Sejakowatz //----------------------------------------------------------------------
252a38012Sejakowatz //  This software is part of the OpenBeOS distribution and is covered
352a38012Sejakowatz //  by the OpenBeOS license.
452a38012Sejakowatz //---------------------------------------------------------------------
552a38012Sejakowatz /*!
652a38012Sejakowatz 	\file storage_support.h
752a38012Sejakowatz 	Interface declarations for miscellaneous internal
852a38012Sejakowatz 	Storage Kit support functions.
952a38012Sejakowatz */
1052a38012Sejakowatz 
11*82b75665STyler Dauwalder #ifndef _STORAGE_SUPPORT_H
12*82b75665STyler Dauwalder #define _STORAGE_SUPPORT_H
1352a38012Sejakowatz 
1452a38012Sejakowatz 
1552a38012Sejakowatz namespace StorageKit {
1652a38012Sejakowatz 
1752a38012Sejakowatz //! Returns whether the supplied path is absolute.
1852a38012Sejakowatz bool is_absolute_path(const char *path);
1952a38012Sejakowatz 
2052a38012Sejakowatz //!	splits a path name into directory path and leaf name
2152a38012Sejakowatz status_t split_path(const char *fullPath, char *&path, char *&leaf);
2252a38012Sejakowatz 
2352a38012Sejakowatz //!	splits a path name into directory path and leaf name
2452a38012Sejakowatz status_t split_path(const char *fullPath, char **path, char **leaf);
2552a38012Sejakowatz 
2652a38012Sejakowatz //! Parses the first component of a path name.
2752a38012Sejakowatz status_t parse_first_path_component(const char *path, int32& length,
2852a38012Sejakowatz 									int32& nextComponent);
2952a38012Sejakowatz 
3052a38012Sejakowatz //! Parses the first component of a path name.
3152a38012Sejakowatz status_t parse_first_path_component(const char *path, char *&component,
3252a38012Sejakowatz 									int32& nextComponent);
3352a38012Sejakowatz 
3452a38012Sejakowatz //! Checks whether an entry name is a valid entry name.
3552a38012Sejakowatz status_t check_entry_name(const char *entry);
3652a38012Sejakowatz 
3752a38012Sejakowatz //! Checks whether a path name is a valid path name.
3852a38012Sejakowatz status_t check_path_name(const char *path);
3952a38012Sejakowatz 
4052a38012Sejakowatz } // namespace StorageKit
4152a38012Sejakowatz 
42*82b75665STyler Dauwalder #endif	// _STORAGE_SUPPORT_H
43