File size: 1,396 Bytes
c7eecb3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
from memory.unsafe import Pointer


@value
@register_passable("trivial")
struct DIR:
    pass


@value
@register_passable("trivial")
struct dirent:
    var d_ino: UInt64
    var d_off: UInt64
    var d_reclen: UInt16
    var d_type: UInt8
    var d_name: Pointer[UInt8]


# ===--------------------------------------------------------------------===#
# closedir
# ===-----------------------------------------------------------------------===#


fn closedir(arg: Pointer[DIR]) -> Int32:
    return external_call["closedir", Int32, Pointer[DIR]](arg)


# ===--------------------------------------------------------------------===#
# opendir
# ===-----------------------------------------------------------------------===#


fn opendir(arg: Pointer[UInt8]) -> Pointer[DIR]:
    return external_call["opendir", Pointer[DIR], Pointer[UInt8]](arg)


# ===--------------------------------------------------------------------===#
# readdir
# ===-----------------------------------------------------------------------===#


fn readdir(arg: Pointer[DIR]) -> Pointer[dirent]:
    return external_call["readdir", Pointer[dirent], Pointer[DIR]](arg)


# ===--------------------------------------------------------------------===#
# fdopendir
# ===-----------------------------------------------------------------------===#


fn fdopendir(arg: Int32) -> DIR:
    return external_call["fdopendir", DIR](arg)


#