$ perl -wE'say length pack "sslli", 0, 0, 0, 0;'
16
$ perl -wE'say length pack "sslli", 0, 0, 0, 0, 0;'
16
####
$ cat a.c
#include
#include
#include
int main() {
struct flock lock;
printf("flock: %lu\n", sizeof(lock));
printf("flock.l_type: %lu @ %2lu\n", sizeof(lock.l_type ), offsetof(struct flock, l_type ));
printf("flock.l_whence: %lu @ %2lu\n", sizeof(lock.l_whence), offsetof(struct flock, l_whence));
printf("flock.l_start: %lu @ %2lu\n", sizeof(lock.l_start ), offsetof(struct flock, l_start ));
printf("flock.l_len: %lu @ %2lu\n", sizeof(lock.l_len ), offsetof(struct flock, l_len ));
printf("flock.l_pid: %lu @ %2lu\n", sizeof(lock.l_pid ), offsetof(struct flock, l_pid ));
return 0;
}
$ gcc -Wall a.c -o a && a
flock: 32
flock.l_type: 2 @ 0
flock.l_whence: 2 @ 2
flock.l_start: 8 @ 8
flock.l_len: 8 @ 16
flock.l_pid: 4 @ 24
####
$ perl -wE'say length pack "s s x4 q q L x4", 0, 0, 0, 0, 0;'
32