# some API work on std.c, std.os, std.os.wasi · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/7680c5330cbc9141b9a5444e30c512b6068ab50d)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 7680c5330cbc9141b9a5444e30c512b6068ab50d

Requested commit: 7680c5330cbc9141b9a5444e30c512b6068ab50d

Commit: 7680c5330cbc9141b9a5444e30c512b6068ab50d

Tree: 682d40e0853c392c1a5cf6dc5aa94c4c7016e859

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
some API work on std.c, std.os, std.os.wasi

* std.c: consolidate some definitions, making them share code. For
  example, freebsd, dragonfly, and openbsd can all share the same
  `pthread_mutex_t` definition.
* add type safety to std.c.O
  - this caught a bug where mode flags were incorrectly passed as the
    open flags.
* 3 fewer uses of usingnamespace keyword
* as per convention, remove purposeless field prefixes from struct field
  names even if they have those prefixes in the corresponding C code.
* fix incorrect wasi libc Stat definition
* remove C definitions from incorrectly being in std.os.wasi
* make std.os.wasi definitions type safe
* go through wasi native APIs even when linking libc because the libc
  APIs are problematic and wasteful
* don't expose WASI definitions in std.posix
* remove std.os.wasi.rights_t.ALL: this is a footgun. should it be all
  future rights too? or only all current rights known? both are
  the wrong answer.

```

## Parents

- [320c4d68f5f40794ae31d5535de9c3a8ff5cb471](https://git.cafe/gitcafe/zig/commit/320c4d68f5f40794ae31d5535de9c3a8ff5cb471?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/7680c5330cbc9141b9a5444e30c512b6068ab50d?format=markdown)
