µOS++ IIIe Reference
7.0.0
The third edition of µOS++, a POSIX inspired open source framework, written in C++
Loading...
Searching...
No Matches
dirent.h
Go to the documentation of this file.
1
/*
2
* This file is part of the µOS++ distribution.
3
* (https://github.com/micro-os-plus)
4
* Copyright (c) 2015 Liviu Ionescu.
5
*
6
* Permission is hereby granted, free of charge, to any person
7
* obtaining a copy of this software and associated documentation
8
* files (the "Software"), to deal in the Software without
9
* restriction, including without limitation the rights to use,
10
* copy, modify, merge, publish, distribute, sublicense, and/or
11
* sell copies of the Software, and to permit persons to whom
12
* the Software is furnished to do so, subject to the following
13
* conditions:
14
*
15
* The above copyright notice and this permission notice shall be
16
* included in all copies or substantial portions of the Software.
17
*
18
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
* OTHER DEALINGS IN THE SOFTWARE.
26
*/
27
28
#ifndef POSIX_DIRENT_H_
29
#define POSIX_DIRENT_H_
30
31
// ----------------------------------------------------------------------------
32
33
#include <unistd.h>
34
35
#if defined(_POSIX_VERSION)
36
37
#pragma GCC diagnostic push
38
#if defined(__clang__)
39
#pragma clang diagnostic ignored "-Wgnu-include-next"
40
#endif
41
#include_next <dirent.h>
42
#pragma GCC diagnostic pop
43
44
#else
45
46
#include <sys/types.h>
47
48
#ifdef __cplusplus
49
extern
"C"
50
{
51
#endif
52
53
// ----------------------------------------------------------------------------
54
55
#if !defined(OS_INTEGER_DIRENT_NAME_MAX)
56
#define OS_INTEGER_DIRENT_NAME_MAX (256)
57
#endif
58
59
// --------------------------------------------------------------------------
60
61
// http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/dirent.h.html
62
struct
dirent
63
{
64
ino_t
d_ino
;
/* File serial number. */
65
char
d_name
[
OS_INTEGER_DIRENT_NAME_MAX
];
/* Filename string of entry. */
66
};
67
68
// The content of this structure is not relevant, it is here just to keep
69
// POSIX compatibility, in real life the directory class is used
70
// and casted to DIR.
71
typedef
struct
72
{
73
;
74
}
DIR
;
75
76
// --------------------------------------------------------------------------
77
78
DIR
*
79
opendir
(
const
char
* dirname);
80
81
struct
dirent
*
82
readdir
(
DIR
* dirp);
83
84
#if 0
85
int
86
readdir_r
(
DIR
* dirp,
struct
dirent
* entry,
struct
dirent
** result);
87
#endif
88
89
void
90
rewinddir
(
DIR
* dirp);
91
92
int
93
closedir
(
DIR
* dirp);
94
95
// ----------------------------------------------------------------------------
96
97
#ifdef __cplusplus
98
}
99
#endif
100
101
#endif
/* defined(_POSIX_VERSION) */
102
103
#endif
/* POSIX_DIRENT_H_ */
OS_INTEGER_DIRENT_NAME_MAX
#define OS_INTEGER_DIRENT_NAME_MAX
Definition
dirent.h:56
readdir
struct dirent * readdir(DIR *dirp)
closedir
int closedir(DIR *dirp)
rewinddir
void rewinddir(DIR *dirp)
opendir
DIR * opendir(const char *dirname)
readdir_r
int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result)
DIR
Definition
dirent.h:72
dirent
Definition
dirent.h:63
dirent::d_name
char d_name[(256)]
Definition
dirent.h:65
dirent::d_ino
ino_t d_ino
Definition
dirent.h:64
include
cmsis-plus
posix
dirent.h
Generated by
1.9.7