posix

Version, currently master branch1 version
  • master branchlatestDec 9, 2020

github.com/ysbaddaden/posix

POSIX libc bindings

34 stars
0 dependents
License: Apache-2.0

Installation

# Add this to your shard.yml
dependencies:
  posix:
    github: ysbaddaden/posix
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
0.35.0
License
Apache-2.0
Author
Julien Portalier <julien@portalier.com>

Dependencies

Runtime Dependencies

README

# C bindings for Crystal

Follows the IEEE Std 1003.1, 2013 Edition (The Open Group Base Specifications
Issue 7) as much as libc implementations do, along with some common additions
that are required by Crystal.

Bindings are automatically generated with CrystalLib from C headers.


## Targets

Crystal only supports the `x86` and `x86_64` targets for now, but we should be
capable to generate bindings for whatever POSIX C implementation. Each target
will be checked when headers have been verified to be compliant.

- Android
  - [ ] `arm`
  - [ ] `arm64`
  - [ ] `mips`
  - [ ] `mips64`
  - [ ] `mips`
  - [ ] `mips64`
  - [ ] `x86`
  - [ ] `x86_64`

- FreeBSD
  - [ ] `x86`
  - [x] `x86_64`

- iOS
  - [ ] `arm`
  - [ ] `arm64`

- Linux
  - [x] gnu (`x86`, `x86_64`)
  - [x] musl (`x86`, `x86_64`)

- Mac OSX
  - [x] darwin (`x86_64`)

- Windows
  - [ ] cygwin

## Headers

- [ ] `aio.h`
- [x] `arpa/inet.h`
- [ ] `assert.h`
- [ ] `complex.h`
- [x] `cpio.h`
- [ ] `ctype.h`
- [x] `dirent.h`
- [x] `dlfcn.h`
- [x] `errno.h`
- [x] `fcntl.h`
- [x] `fenv.h`
- [x] `float.h`
- [ ] `fmtmsg.h`
- [x] `fnmatch.h`
- [x] `ftw.h`
- [x] `glob.h`
- [x] `grp.h`
- [x] `iconv.h`
- [ ] `inttypes.h`
- [ ] `iso646.h`
- [x] `langinfo.h`
- [x] `libgen.h`
- [x] `limits.h`
- [x] `locale.h`
- [x] `math.h`
- [x] `monetary.h`
- [ ] `mqueue.h`
- [ ] `ndbm.h`
- [x] `net/if.h`
- [x] `netdb.h`
- [x] `netinet/in.h`
- [x] `netinet/tcp.h`
- [x] `nl_types.h`
- [x] `poll.h`
- [x] `pthread.h`
- [x] `pwd.h`
- [x] `regex.h`
- [x] `sched.h`
- [x] `search.h`
- [x] `semaphore.h`
- [x] `setjmp.h`
- [x] `signal.h`
- [x] `spawn.h`
- [ ] `stdarg.h`
- [ ] `stdbool.h`
- [x] `stddef.h`
- [x] `stdint.h`
- [x] `stdio.h`
- [x] `stdlib.h`
- [x] `string.h`
- [x] `strings.h`
- [ ] `stropts.h`
- [x] `sys/ipc.h`
- [x] `sys/mman.h`
- [ ] `sys/msg.h`
- [x] `sys/resource.h`
- [x] `sys/select.h`
- [x] `sys/sem.h`
- [x] `sys/shm.h`
- [x] `sys/socket.h`
- [x] `sys/stat.h`
- [ ] `sys/statvfs.h`
- [x] `sys/time.h`
- [x] `sys/times.h`
- [x] `sys/types.h`
- [x] `sys/uio.h`
- [x] `sys/un.h`
- [x] `sys/utsname.h`
- [x] `sys/wait.h`
- [x] `syslog.h`
- [ ] `tar.h`
- [x] `termios.h`
- [ ] `tgmath.h`
- [x] `time.h`
- [ ] `trace.h`
- [x] `ulimit.h`
- [x] `unistd.h`
- [x] `utmpx.h`
- [ ] `wchar.h`
- [ ] `wctype.h`
- [ ] `wordexp.h`