posix: add package

This commit is contained in:
Laytan Laats
2024-08-14 01:44:35 +02:00
parent ac68a9d52c
commit efe68c2e24
83 changed files with 12665 additions and 328 deletions
+2
View File
@@ -0,0 +1,2 @@
c_structs
odin_structs
+103
View File
@@ -0,0 +1,103 @@
#include <dirent.h>
#include <fcntl.h>
#include <glob.h>
#include <grp.h>
#include <locale.h>
#include <pthread.h>
#include <stdio.h>
#include <termios.h>
#include <netinet/in.h>
#include <netdb.h>
#include <poll.h>
#include <pwd.h>
#include <sys/shm.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/un.h>
#include <stddef.h>
#include <sys/resource.h>
#include <sys/utsname.h>
#include <sys/times.h>
#include <signal.h>
#include <sys/select.h>
#include <sys/uio.h>
#include <sys/sem.h>
#include <sys/statvfs.h>
#include <sys/time.h>
#include <utime.h>
#include <wordexp.h>
#include <sys/socket.h>
int main(int argc, char *argv[])
{
printf("dirent %zu %zu\n", sizeof(struct dirent), _Alignof(struct dirent));
printf("flock %zu %zu\n", sizeof(struct flock), _Alignof(struct flock));
printf("glob_t %zu %zu\n", sizeof(glob_t), _Alignof(glob_t));
printf("group %zu %zu\n", sizeof(struct group), _Alignof(struct group));
printf("lconv %zu %zu\n", sizeof(struct lconv), _Alignof(struct lconv));
printf("pthread_t %zu %zu\n", sizeof(pthread_t), _Alignof(pthread_t));
printf("pthread_attr_t %zu %zu\n", sizeof(pthread_attr_t), _Alignof(pthread_attr_t));
printf("pthread_key_t %zu %zu\n", sizeof(pthread_key_t), _Alignof(pthread_key_t));
printf("sched_param %zu %zu\n", sizeof(struct sched_param), _Alignof(struct sched_param));
printf("termios %zu %zu\n", sizeof(struct termios), _Alignof(struct termios));
printf("in_addr %zu %zu\n", sizeof(struct in_addr), _Alignof(struct in_addr));
printf("in6_addr %zu %zu\n", sizeof(struct in6_addr), _Alignof(struct in6_addr));
printf("sockaddr_in %zu %zu\n", sizeof(struct sockaddr_in), _Alignof(struct sockaddr_in));
printf("sockaddr_in6 %zu %zu\n", sizeof(struct sockaddr_in6), _Alignof(struct sockaddr_in6));
printf("ipv6_mreq %zu %zu\n", sizeof(struct ipv6_mreq), _Alignof(struct ipv6_mreq));
printf("sockaddr_storage %zu %zu\n", sizeof(struct sockaddr_storage), _Alignof(struct sockaddr_storage));
printf("msghdr %zu %zu\n", sizeof(struct msghdr), _Alignof(struct msghdr));
printf("cmsghdr %zu %zu\n", sizeof(struct cmsghdr), _Alignof(struct cmsghdr));
printf("linger %zu %zu\n", sizeof(struct linger), _Alignof(struct linger));
printf("hostent %zu %zu\n", sizeof(struct hostent), _Alignof(struct hostent));
printf("netent %zu %zu\n", sizeof(struct netent), _Alignof(struct netent));
printf("protoent %zu %zu\n", sizeof(struct protoent), _Alignof(struct protoent));
printf("servent %zu %zu\n", sizeof(struct servent), _Alignof(struct servent));
printf("addrinfo %zu %zu\n", sizeof(struct addrinfo), _Alignof(struct addrinfo));
printf("pollfd %zu %zu\n", sizeof(struct pollfd), _Alignof(struct pollfd));
printf("passwd %zu %zu\n", sizeof(struct passwd), _Alignof(struct passwd));
printf("shmid_ds %zu %zu\n", sizeof(struct shmid_ds), _Alignof(struct shmid_ds));
printf("ipc_perm %zu %zu\n", sizeof(struct ipc_perm), _Alignof(struct ipc_perm));
printf("msqid_ds %zu %zu\n", sizeof(struct msqid_ds), _Alignof(struct msqid_ds));
printf("rlimit %zu %zu\n", sizeof(struct rlimit), _Alignof(struct rlimit));
printf("rusage %zu %zu\n", sizeof(struct rusage), _Alignof(struct rusage));
printf("sockaddr_un %zu %zu\n", sizeof(struct sockaddr_un), _Alignof(struct sockaddr_un));
printf("utsname %zu %zu\n", sizeof(struct utsname), _Alignof(struct utsname));
printf("tms %zu %zu\n", sizeof(struct tms), _Alignof(struct tms));
printf("sigaction %zu %zu\n", sizeof(struct sigaction), _Alignof(struct sigaction));
printf("stack_t %zu %zu\n", sizeof(stack_t), _Alignof(stack_t));
printf("siginfo_t %zu %zu\n", sizeof(siginfo_t), _Alignof(siginfo_t));
printf("fd_set %zu %zu\n", sizeof(fd_set), _Alignof(fd_set));
printf("iovec %zu %zu\n", sizeof(struct iovec), _Alignof(struct iovec));
printf("semid_ds %zu %zu\n", sizeof(struct semid_ds), _Alignof(struct semid_ds));
printf("sembuf %zu %zu\n", sizeof(struct sembuf), _Alignof(struct sembuf));
printf("itimerval %zu %zu\n", sizeof(struct itimerval), _Alignof(struct itimerval));
printf("utimbuf %zu %zu\n", sizeof(struct utimbuf), _Alignof(struct utimbuf));
printf("wordexp_t %zu %zu\n", sizeof(wordexp_t), _Alignof(wordexp_t));
printf("time_t %zu %zu\n", sizeof(time_t), _Alignof(time_t));
printf("timespec %zu %zu\n", sizeof(struct timespec), _Alignof(struct timespec));
printf("clock_t %zu %zu\n", sizeof(clock_t), _Alignof(clock_t));
return 0;
}
+74
View File
@@ -0,0 +1,74 @@
package main
import "core:fmt"
import "core:sys/posix"
main :: proc() {
fmt.println("dirent", size_of(posix.dirent), align_of(posix.dirent))
fmt.println("flock", size_of(posix.flock), align_of(posix.flock))
fmt.println("glob_t", size_of(posix.glob_t), align_of(posix.glob_t))
fmt.println("group", size_of(posix.group), align_of(posix.group))
fmt.println("lconv", size_of(posix.lconv), align_of(posix.lconv))
fmt.println("pthread_t", size_of(posix.pthread_t), align_of(posix.pthread_t))
fmt.println("pthread_attr_t", size_of(posix.pthread_attr_t), align_of(posix.pthread_attr_t))
fmt.println("pthread_key_t", size_of(posix.pthread_key_t), align_of(posix.pthread_key_t))
fmt.println("sched_param", size_of(posix.sched_param), align_of(posix.sched_param))
fmt.println("termios", size_of(posix.termios), align_of(posix.termios))
fmt.println("in_addr", size_of(posix.in_addr), align_of(posix.in_addr))
fmt.println("in6_addr", size_of(posix.in6_addr), align_of(posix.in6_addr))
fmt.println("sockaddr_in", size_of(posix.sockaddr_in), align_of(posix.sockaddr_in))
fmt.println("sockaddr_in6", size_of(posix.sockaddr_in6), align_of(posix.sockaddr_in6))
fmt.println("ipv6_mreq", size_of(posix.ipv6_mreq), align_of(posix.ipv6_mreq))
fmt.println("sockaddr_storage", size_of(posix.sockaddr_storage), align_of(posix.sockaddr_storage))
fmt.println("msghdr", size_of(posix.msghdr), align_of(posix.msghdr))
fmt.println("cmsghdr", size_of(posix.cmsghdr), align_of(posix.cmsghdr))
fmt.println("linger", size_of(posix.linger), align_of(posix.linger))
fmt.println("hostent", size_of(posix.hostent), align_of(posix.hostent))
fmt.println("netent", size_of(posix.netent), align_of(posix.netent))
fmt.println("protoent", size_of(posix.protoent), align_of(posix.protoent))
fmt.println("servent", size_of(posix.servent), align_of(posix.servent))
fmt.println("addrinfo", size_of(posix.addrinfo), align_of(posix.addrinfo))
fmt.println("pollfd", size_of(posix.pollfd), align_of(posix.pollfd))
fmt.println("passwd", size_of(posix.passwd), align_of(posix.passwd))
fmt.println("shmid_ds", size_of(posix.shmid_ds), align_of(posix.shmid_ds))
fmt.println("ipc_perm", size_of(posix.ipc_perm), align_of(posix.ipc_perm))
fmt.println("msqid_ds", size_of(posix.msqid_ds), align_of(posix.msqid_ds))
fmt.println("rlimit", size_of(posix.rlimit), align_of(posix.rlimit))
fmt.println("rusage", size_of(posix.rusage), align_of(posix.rusage))
fmt.println("sockaddr_un", size_of(posix.sockaddr_un), align_of(posix.sockaddr_un))
fmt.println("utsname", size_of(posix.utsname), align_of(posix.utsname))
fmt.println("tms", size_of(posix.tms), align_of(posix.tms))
fmt.println("sigaction", size_of(posix.sigaction_t), align_of(posix.sigaction_t))
fmt.println("stack_t", size_of(posix.stack_t), align_of(posix.stack_t))
fmt.println("siginfo_t", size_of(posix.siginfo_t), align_of(posix.siginfo_t))
fmt.println("fd_set", size_of(posix.fd_set), align_of(posix.fd_set))
fmt.println("iovec", size_of(posix.iovec), align_of(posix.iovec))
fmt.println("semid_ds", size_of(posix.semid_ds), align_of(posix.semid_ds))
fmt.println("sembuf", size_of(posix.sembuf), align_of(posix.sembuf))
fmt.println("itimerval", size_of(posix.itimerval), align_of(posix.itimerval))
fmt.println("utimbuf", size_of(posix.utimbuf), align_of(posix.utimbuf))
fmt.println("wordexp_t", size_of(posix.wordexp_t), align_of(posix.wordexp_t))
fmt.println("time_t", size_of(posix.time_t), align_of(posix.time_t))
fmt.println("timespec", size_of(posix.timespec), align_of(posix.timespec))
fmt.println("clock_t", size_of(posix.clock_t), align_of(posix.clock_t))
}