18bf80f4bSopenharmony_ci/*
28bf80f4bSopenharmony_ci * Copyright (C) 2023 Huawei Device Co., Ltd.
38bf80f4bSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
48bf80f4bSopenharmony_ci * you may not use this file except in compliance with the License.
58bf80f4bSopenharmony_ci * You may obtain a copy of the License at
68bf80f4bSopenharmony_ci *
78bf80f4bSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
88bf80f4bSopenharmony_ci *
98bf80f4bSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
108bf80f4bSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
118bf80f4bSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
128bf80f4bSopenharmony_ci * See the License for the specific language governing permissions and
138bf80f4bSopenharmony_ci * limitations under the License.
148bf80f4bSopenharmony_ci */
158bf80f4bSopenharmony_ci#ifndef __LUME_DIR__
168bf80f4bSopenharmony_ci#define __LUME_DIR__
178bf80f4bSopenharmony_ci#if _WIN32
188bf80f4bSopenharmony_ci/*
198bf80f4bSopenharmony_ci * File types
208bf80f4bSopenharmony_ci */
218bf80f4bSopenharmony_ci#define DT_UNKNOWN 0
228bf80f4bSopenharmony_ci#define DT_FIFO 1
238bf80f4bSopenharmony_ci#define DT_CHR 2
248bf80f4bSopenharmony_ci#define DT_DIR 4
258bf80f4bSopenharmony_ci#define DT_BLK 6
268bf80f4bSopenharmony_ci#define DT_REG 8
278bf80f4bSopenharmony_ci#define DT_LNK 10
288bf80f4bSopenharmony_ci#define DT_SOCK 12
298bf80f4bSopenharmony_ci
308bf80f4bSopenharmony_cistruct dirent {
318bf80f4bSopenharmony_ci    unsigned char d_type;
328bf80f4bSopenharmony_ci    char d_name[256];
338bf80f4bSopenharmony_ci};
348bf80f4bSopenharmony_cistruct DIR;
358bf80f4bSopenharmony_ciDIR* opendir(const char* path);
368bf80f4bSopenharmony_cistruct dirent* readdir(DIR* d);
378bf80f4bSopenharmony_civoid closedir(DIR* d);
388bf80f4bSopenharmony_ci#else
398bf80f4bSopenharmony_ci#include <sys/stat.h>
408bf80f4bSopenharmony_ci#include <sys/types.h>
418bf80f4bSopenharmony_ci#include <dirent.h>
428bf80f4bSopenharmony_ci#include <string>
438bf80f4bSopenharmony_ci#endif
448bf80f4bSopenharmony_ci#endif