/* Copyright (C) 2011-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: dk3dir.ctr */ /** @file dk3dir.h Header file for the dk3dir module. */ #ifndef DK3DIR_H_INCLUDED /** Avoid multiple inclusions. */ #define DK3DIR_H_INCLUDED 1 #line 10 "dk3dir.ctr" #include "dk3conf.h" #include "dk3types.h" #ifdef __cplusplus extern "C" { #endif /** Open a directory. @param dn Directory name. @param app Application structure for diagnostics, may be NULL. @return Pointer to directory structure on success, NULL on error. */ dk3_dir_t * dk3dir_open_app(dkChar const *dn, dk3_app_t *app); /** Open directory structure to expand a file name. @param fn File name. @param app Application structure for diagnostics, may be NULL. @return Pointer to directory structure on success, NULL on errror. */ dk3_dir_t * dk3dir_fne_open_app(dkChar const *fn, dk3_app_t *app); /** Close directory. @param dp Directory to close. */ void dk3dir_close(dk3_dir_t *dp); /** Get number of subdirectories. @param d Directory structure. @return Number of subdirectories. */ dk3_um_t dk3dir_get_number_of_directories(dk3_dir_t const *d); /** Get number of files. @param d Directory structure. @return Number of non-directory entries in directory. */ dk3_um_t dk3dir_get_number_of_files(dk3_dir_t const *d); /** Attempt to retrieve information about the next sub-directory. @param d Directory structure. @return 1 on success, 0 on error. */ int dk3dir_get_next_directory(dk3_dir_t *d); /** Attempt to retrieve information about the next non-sub-directory entry. @param d Directory structure. @return 1 on success, 0 on error. */ int dk3dir_get_next_file(dk3_dir_t *d); /** Retrieve short file name of entry found. May be used after a successful call to dk3dir_get_next_directory() or dk3dir_get_next_file() only. @param d Directory structure. @return Pointer to file name on success, NULL on error. */ dkChar const * dk3dir_get_shortname(dk3_dir_t const *d); /** Retrieve full file name of entry found. May be used after a successful call to dk3dir_get_next_directory() or dk3dir_get_next_file() only. @param d Directory structure. @return Pointer to file name on success, NULL on error. */ dkChar const * dk3dir_get_fullname(dk3_dir_t const *d); /** Retrieve file status information. May be used after a successful call to dk3dir_get_next_directory() or dk3dir_get_next_file() only. @param d Directory structure. @return Pointer to file name on success, NULL on error. */ dk3_stat_t const * dk3dir_get_stat(dk3_dir_t *d); /** Reset directory for new traversal. @param d Directory structure. */ void dk3dir_reset(dk3_dir_t *d); /** Retrieve directory name. @param dir Directory structure. @return Directory path name. */ dkChar const * dk3dir_get_directory_name(dk3_dir_t const *dir); /** Remove directory recursively, including all contents. @param dn Directory name. @param app Application structure for diagnostics, may be NULL. @return 1 on success, 0 on error. */ int dk3dir_remove_app(dkChar const *dn, dk3_app_t *app); #ifdef __cplusplus } #endif #endif