[![][npm-badge]][npm-url] [![][travis-badge]][travis-url]
npm install libjs[![][npm-badge]][npm-url] [![][travis-badge]][travis-url]
libc in JavaScript — libjs.
``shell`
npm install libjs libsys
This library uses libsys to execute system calls from JavaScript.
It expects your environment has libsys global object, in Node.js you can shim libsys as follows:
`js`
require('libsys/shim');
- Write to console
- Read from a file
- Run stat() on a file
- Create a basic server
- Synchronous system calls
- __Files__:
read,
write,
open,
close,
access,
chmod,
fchmod,
chown,
fchown,
lchown,
truncate,
ftruncate,
lseek,
rename,
fsync,
fdatasync
- __Stats__:
stat,
lstat,
and fstat
- __Directories__:
mkdir,
mkdirat,
rmdir,
getcwd,
getdents64,
readdir,
and readdirList
- __Links__:
symlink,
unlink,
readlink,
and link
- __Time__: utime and utimes
- __Networking__:
socket,
connect,
bind,
listen,
accept,
accept4,
shutdown,
send,
sendto,
recv,
recvfrom,
setsockopt
- __Process__:
getpid,
getppid,
getuid,
geteuid,
getgid,
getegid,
sched_yield,
nanosleep
- __Events__:
fcntl,
epoll_create,
epoll_create1,
epoll_wait,
epoll_ctl,
inotify_init,
inotify_init1,
inotify_add_watch,
inotify_rm_watch
- __Memory__:
mmap,
munmap,
mprotect,
shmget,
shmat,
shmdt,
and shmctl
- Asynchronous system calls
- __Files__: readAsync,
writeAsync,
openAsync,
closeAsync,
accessAsync,
chmodAsync,
fchmodAsync,
chownAsync,
fchownAsync,
lchownAsync,
truncateAsync,
ftruncateAsync,
lseekAsync,
renameAsync,
fsyncAsync,
fdatasyncAsync
- __Stats__: statAsync,
lstatAsync,
and fstatAsync
- __Directories__: mkdirAsync,
mkdiratAsync,
rmdirAsync,
getcwdAsync,
getdents64Async,
and readdirListAsync
- __Links__: symlinkAsync,
unlinkAsync,
readlinkAsync,
and linkAsync
- __Time__: utimeAsync and utimesAsync
- __Networking__: socketAsync,
connectAsync,
bindAsync,
listenAsync,
acceptAsync,
accept4Async,
shutdownAsync,
sendAsync
and sendtoAsync,
- __Process__: getpidAsync,
getppidAsync,
getuidAsync,
geteuidAsync,
getgidAsync,
and getegidAsync,
- Structs
- epoll_event,in_addr
,inotify_event
,ipc_perm
,ipv4
,linux_dirent64
,shmid_ds
,sigaction
,sockaddr
,sockaddr_in
,statStruct
,timespec
,timeval
,timevalarr
,utimbuf
flip
- Sockets
- ,htons32
,hton16
,htons
,Ip
,Ipv4
,Ipv6
and ,AF
- Constants
- ,AMODE
,BUS
,CLD
,DT
,EPOLL
,EPOLL_CTL
,EPOLL_EVENTS
,ERROR
,FCNTL
,FD
,FLAG
,FPE
,ILL
,IN
,IP
,IPC
,IPPROT
,IPPROTO
,IPV6
,MAP
,MCAST
,MSG
,PF
,POLL
,PROT
,S
,SA
,SEEK
,SEGV
,SHM
,SHUT
,SI
,SIG
,SIGEV
,SO
,SOCK
,SOL
,TRAP`
Unlicense — public domain.
[npm-url]: https://www.npmjs.com/package/libjs
[npm-badge]: https://img.shields.io/npm/v/libjs.svg
[travis-url]: https://travis-ci.org/streamich/libjs
[travis-badge]: https://travis-ci.org/streamich/libjs.svg?branch=master