mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 06:38:47 +00:00
posix: add package
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
c_structs
|
||||
odin_structs
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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))
|
||||
}
|
||||
Reference in New Issue
Block a user