History

fuse: fix type definitions in uapi header

Commit 7e98d53086d18c877cb44e9065219335184024de (Synchronize fuse header with one used in library) added #ifdef __linux__ around defines if it is not set. The kernel build is self-contained and can be built on non-Linux toolchains. After the mentioned commit builds on non-Linux toolchains will try to include stdint.h and fail due to -nostdinc, and then fail with a bunch of undefined type errors. Fix by checking for __KERNEL__ instead of __linux__ and using the standard int types instead of the linux specific ones.

Miklos Szeredi committed 13 years ago

Commit 4c824561 parent 41ef2d51 file · +216 −220Browse files

Showing the changes to include/uapi/linux (1 of 1 file). Show all

Unified · Split

include/uapi/linux/fuse.h+216−220
@@ -95,15 +95,10 @@ · 94 unmodified lines
95#ifndef _LINUX_FUSE_H95#ifndef _LINUX_FUSE_H
96#define _LINUX_FUSE_H96#define _LINUX_FUSE_H
97 97
98#ifdef __linux__98#ifdef __KERNEL__
99#include <linux/types.h>99#include <linux/types.h>
100#else100#else
101#include <stdint.h>101#include <stdint.h>
102#define __u64 uint64_t
103#define __s64 int64_t
104#define __u32 uint32_t
105#define __s32 int32_t
106#define __u16 uint16_t
107#endif102#endif
108 103
109/*104/*
@@ -139,42 +134,42 @@ · 29 unmodified lines
139 userspace works under 64bit kernels */134 userspace works under 64bit kernels */
140 135
141struct fuse_attr {136struct fuse_attr {
142 __u64 ino;137 uint64_t ino;
143 __u64 size;138 uint64_t size;
144 __u64 blocks;139 uint64_t blocks;
145 __u64 atime;140 uint64_t atime;
146 __u64 mtime;141 uint64_t mtime;
147 __u64 ctime;142 uint64_t ctime;
148 __u32 atimensec;143 uint32_t atimensec;
149 __u32 mtimensec;144 uint32_t mtimensec;
150 __u32 ctimensec;145 uint32_t ctimensec;
151 __u32 mode;146 uint32_t mode;
152 __u32 nlink;147 uint32_t nlink;
153 __u32 uid;148 uint32_t uid;
154 __u32 gid;149 uint32_t gid;
155 __u32 rdev;150 uint32_t rdev;
156 __u32 blksize;151 uint32_t blksize;
157 __u32 padding;152 uint32_t padding;
158};153};
159 154
160struct fuse_kstatfs {155struct fuse_kstatfs {
161 __u64 blocks;156 uint64_t blocks;
162 __u64 bfree;157 uint64_t bfree;
163 __u64 bavail;158 uint64_t bavail;
164 __u64 files;159 uint64_t files;
165 __u64 ffree;160 uint64_t ffree;
166 __u32 bsize;161 uint32_t bsize;
167 __u32 namelen;162 uint32_t namelen;
168 __u32 frsize;163 uint32_t frsize;
169 __u32 padding;164 uint32_t padding;
170 __u32 spare[6];165 uint32_t spare[6];
171};166};
172 167
173struct fuse_file_lock {168struct fuse_file_lock {
174 __u64 start;169 uint64_t start;
175 __u64 end;170 uint64_t end;
176 __u32 type;171 uint32_t type;
177 __u32 pid; /* tgid */172 uint32_t pid; /* tgid */
178};173};
179 174
180/**175/**
@@ -364,143 +359,143 @@ enum fuse_notify_code { · 183 unmodified lines
364#define FUSE_COMPAT_ENTRY_OUT_SIZE 120359#define FUSE_COMPAT_ENTRY_OUT_SIZE 120
365 360
366struct fuse_entry_out {361struct fuse_entry_out {
367 __u64 nodeid; /* Inode ID */362 uint64_t nodeid; /* Inode ID */
368 __u64 generation; /* Inode generation: nodeid:gen must363 uint64_t generation; /* Inode generation: nodeid:gen must
369 be unique for the fs's lifetime */364 be unique for the fs's lifetime */
370 __u64 entry_valid; /* Cache timeout for the name */365 uint64_t entry_valid; /* Cache timeout for the name */
371 __u64 attr_valid; /* Cache timeout for the attributes */366 uint64_t attr_valid; /* Cache timeout for the attributes */
372 __u32 entry_valid_nsec;367 uint32_t entry_valid_nsec;
373 __u32 attr_valid_nsec;368 uint32_t attr_valid_nsec;
374 struct fuse_attr attr;369 struct fuse_attr attr;
375};370};
376 371
377struct fuse_forget_in {372struct fuse_forget_in {
378 __u64 nlookup;373 uint64_t nlookup;
379};374};
380 375
381struct fuse_forget_one {376struct fuse_forget_one {
382 __u64 nodeid;377 uint64_t nodeid;
383 __u64 nlookup;378 uint64_t nlookup;
384};379};
385 380
386struct fuse_batch_forget_in {381struct fuse_batch_forget_in {
387 __u32 count;382 uint32_t count;
388 __u32 dummy;383 uint32_t dummy;
389};384};
390 385
391struct fuse_getattr_in {386struct fuse_getattr_in {
392 __u32 getattr_flags;387 uint32_t getattr_flags;
393 __u32 dummy;388 uint32_t dummy;
394 __u64 fh;389 uint64_t fh;
395};390};
396 391
397#define FUSE_COMPAT_ATTR_OUT_SIZE 96392#define FUSE_COMPAT_ATTR_OUT_SIZE 96
398 393
399struct fuse_attr_out {394struct fuse_attr_out {
400 __u64 attr_valid; /* Cache timeout for the attributes */395 uint64_t attr_valid; /* Cache timeout for the attributes */
401 __u32 attr_valid_nsec;396 uint32_t attr_valid_nsec;
402 __u32 dummy;397 uint32_t dummy;
403 struct fuse_attr attr;398 struct fuse_attr attr;
404};399};
405 400
406#define FUSE_COMPAT_MKNOD_IN_SIZE 8401#define FUSE_COMPAT_MKNOD_IN_SIZE 8
407 402
408struct fuse_mknod_in {403struct fuse_mknod_in {
409 __u32 mode;404 uint32_t mode;
410 __u32 rdev;405 uint32_t rdev;
411 __u32 umask;406 uint32_t umask;
412 __u32 padding;407 uint32_t padding;
413};408};
414 409
415struct fuse_mkdir_in {410struct fuse_mkdir_in {
416 __u32 mode;411 uint32_t mode;
417 __u32 umask;412 uint32_t umask;
418};413};
419 414
420struct fuse_rename_in {415struct fuse_rename_in {
421 __u64 newdir;416 uint64_t newdir;
422};417};
423 418
424struct fuse_link_in {419struct fuse_link_in {
425 __u64 oldnodeid;420 uint64_t oldnodeid;
426};421};
427 422
428struct fuse_setattr_in {423struct fuse_setattr_in {
429 __u32 valid;424 uint32_t valid;
430 __u32 padding;425 uint32_t padding;
431 __u64 fh;426 uint64_t fh;
432 __u64 size;427 uint64_t size;
433 __u64 lock_owner;428 uint64_t lock_owner;
434 __u64 atime;429 uint64_t atime;
435 __u64 mtime;430 uint64_t mtime;
436 __u64 unused2;431 uint64_t unused2;
437 __u32 atimensec;432 uint32_t atimensec;
438 __u32 mtimensec;433 uint32_t mtimensec;
439 __u32 unused3;434 uint32_t unused3;
440 __u32 mode;435 uint32_t mode;
441 __u32 unused4;436 uint32_t unused4;
442 __u32 uid;437 uint32_t uid;
443 __u32 gid;438 uint32_t gid;
444 __u32 unused5;439 uint32_t unused5;
445};440};
446 441
447struct fuse_open_in {442struct fuse_open_in {
448 __u32 flags;443 uint32_t flags;
449 __u32 unused;444 uint32_t unused;
450};445};
451 446
452struct fuse_create_in {447struct fuse_create_in {
453 __u32 flags;448 uint32_t flags;
454 __u32 mode;449 uint32_t mode;
455 __u32 umask;450 uint32_t umask;
456 __u32 padding;451 uint32_t padding;
457};452};
458 453
459struct fuse_open_out {454struct fuse_open_out {
460 __u64 fh;455 uint64_t fh;
461 __u32 open_flags;456 uint32_t open_flags;
462 __u32 padding;457 uint32_t padding;
463};458};
464 459
465struct fuse_release_in {460struct fuse_release_in {
466 __u64 fh;461 uint64_t fh;
467 __u32 flags;462 uint32_t flags;
468 __u32 release_flags;463 uint32_t release_flags;
469 __u64 lock_owner;464 uint64_t lock_owner;
470};465};
471 466
472struct fuse_flush_in {467struct fuse_flush_in {
473 __u64 fh;468 uint64_t fh;
474 __u32 unused;469 uint32_t unused;
475 __u32 padding;470 uint32_t padding;
476 __u64 lock_owner;471 uint64_t lock_owner;
477};472};
478 473
479struct fuse_read_in {474struct fuse_read_in {
480 __u64 fh;475 uint64_t fh;
481 __u64 offset;476 uint64_t offset;
482 __u32 size;477 uint32_t size;
483 __u32 read_flags;478 uint32_t read_flags;
484 __u64 lock_owner;479 uint64_t lock_owner;
485 __u32 flags;480 uint32_t flags;
486 __u32 padding;481 uint32_t padding;
487};482};
488 483
489#define FUSE_COMPAT_WRITE_IN_SIZE 24484#define FUSE_COMPAT_WRITE_IN_SIZE 24
490 485
491struct fuse_write_in {486struct fuse_write_in {
492 __u64 fh;487 uint64_t fh;
493 __u64 offset;488 uint64_t offset;
494 __u32 size;489 uint32_t size;
495 __u32 write_flags;490 uint32_t write_flags;
496 __u64 lock_owner;491 uint64_t lock_owner;
497 __u32 flags;492 uint32_t flags;
498 __u32 padding;493 uint32_t padding;
499};494};
500 495
501struct fuse_write_out {496struct fuse_write_out {
502 __u32 size;497 uint32_t size;
503 __u32 padding;498 uint32_t padding;
504};499};
505 500
506#define FUSE_COMPAT_STATFS_SIZE 48501#define FUSE_COMPAT_STATFS_SIZE 48
@@ -510,32 +505,32 @@ struct fuse_statfs_out { · 3 unmodified lines
510};505};
511 506
512struct fuse_fsync_in {507struct fuse_fsync_in {
513 __u64 fh;508 uint64_t fh;
514 __u32 fsync_flags;509 uint32_t fsync_flags;
515 __u32 padding;510 uint32_t padding;
516};511};
517 512
518struct fuse_setxattr_in {513struct fuse_setxattr_in {
519 __u32 size;514 uint32_t size;
520 __u32 flags;515 uint32_t flags;
521};516};
522 517
523struct fuse_getxattr_in {518struct fuse_getxattr_in {
524 __u32 size;519 uint32_t size;
525 __u32 padding;520 uint32_t padding;
526};521};
527 522
528struct fuse_getxattr_out {523struct fuse_getxattr_out {
529 __u32 size;524 uint32_t size;
530 __u32 padding;525 uint32_t padding;
531};526};
532 527
533struct fuse_lk_in {528struct fuse_lk_in {
534 __u64 fh;529 uint64_t fh;
535 __u64 owner;530 uint64_t owner;
536 struct fuse_file_lock lk;531 struct fuse_file_lock lk;
537 __u32 lk_flags;532 uint32_t lk_flags;
538 __u32 padding;533 uint32_t padding;
539};534};
540 535
541struct fuse_lk_out {536struct fuse_lk_out {
@@ -543,134 +538,135 @@ struct fuse_lk_out { · 1 unmodified line
543};538};
544 539
545struct fuse_access_in {540struct fuse_access_in {
546 __u32 mask;541 uint32_t mask;
547 __u32 padding;542 uint32_t padding;
548};543};
549 544
550struct fuse_init_in {545struct fuse_init_in {
551 __u32 major;546 uint32_t major;
552 __u32 minor;547 uint32_t minor;
553 __u32 max_readahead;548 uint32_t max_readahead;
554 __u32 flags;549 uint32_t flags;
555};550};
556 551
557struct fuse_init_out {552struct fuse_init_out {
558 __u32 major;553 uint32_t major;
559 __u32 minor;554 uint32_t minor;
560 __u32 max_readahead;555 uint32_t max_readahead;
561 __u32 flags;556 uint32_t flags;
562 __u16 max_background;557 uint16_t max_background;
563 __u16 congestion_threshold;558 uint16_t congestion_threshold;
564 __u32 max_write;559 uint32_t max_write;
565};560};
566 561
567#define CUSE_INIT_INFO_MAX 4096562#define CUSE_INIT_INFO_MAX 4096
568 563
569struct cuse_init_in {564struct cuse_init_in {
570 __u32 major;565 uint32_t major;
571 __u32 minor;566 uint32_t minor;
572 __u32 unused;567 uint32_t unused;
573 __u32 flags;568 uint32_t flags;
574};569};
575 570
576struct cuse_init_out {571struct cuse_init_out {
577 __u32 major;572 uint32_t major;
578 __u32 minor;573 uint32_t minor;
579 __u32 unused;574 uint32_t unused;
580 __u32 flags;575 uint32_t flags;
581 __u32 max_read;576 uint32_t max_read;
582 __u32 max_write;577 uint32_t max_write;
583 __u32 dev_major; /* chardev major */578 uint32_t dev_major; /* chardev major */
584 __u32 dev_minor; /* chardev minor */579 uint32_t dev_minor; /* chardev minor */
585 __u32 spare[10];580 uint32_t spare[10];
586};581};
587 582
588struct fuse_interrupt_in {583struct fuse_interrupt_in {
589 __u64 unique;584 uint64_t unique;
590};585};
591 586
592struct fuse_bmap_in {587struct fuse_bmap_in {
593 __u64 block;588 uint64_t block;
594 __u32 blocksize;589 uint32_t blocksize;
595 __u32 padding;590 uint32_t padding;
596};591};
597 592
598struct fuse_bmap_out {593struct fuse_bmap_out {
599 __u64 block;594 uint64_t block;
600};595};
601 596
602struct fuse_ioctl_in {597struct fuse_ioctl_in {
603 __u64 fh;598 uint64_t fh;
604 __u32 flags;599 uint32_t flags;
605 __u32 cmd;600 uint32_t cmd;
606 __u64 arg;601 uint64_t arg;
607 __u32 in_size;602 uint32_t in_size;
608 __u32 out_size;603 uint32_t out_size;
609};604};
610 605
611struct fuse_ioctl_iovec {606struct fuse_ioctl_iovec {
612 __u64 base;607 uint64_t base;
613 __u64 len;608 uint64_t len;
614};609};
615 610
616struct fuse_ioctl_out {611struct fuse_ioctl_out {
617 __s32 result;612 int32_t result;
618 __u32 flags;613 uint32_t flags;
619 __u32 in_iovs;614 uint32_t in_iovs;
620 __u32 out_iovs;615 uint32_t out_iovs;
621};616};
622 617
623struct fuse_poll_in {618struct fuse_poll_in {
624 __u64 fh;619 uint64_t fh;
625 __u64 kh;620 uint64_t kh;
626 __u32 flags;621 uint32_t flags;
627 __u32 events;622 uint32_t events;
628};623};
629 624
630struct fuse_poll_out {625struct fuse_poll_out {
631 __u32 revents;626 uint32_t revents;
632 __u32 padding;627 uint32_t padding;
633};628};
634 629
635struct fuse_notify_poll_wakeup_out {630struct fuse_notify_poll_wakeup_out {
636 __u64 kh;631 uint64_t kh;
637};632};
638 633
639struct fuse_fallocate_in {634struct fuse_fallocate_in {
640 __u64 fh;635 uint64_t fh;
641 __u64 offset;636 uint64_t offset;
642 __u64 length;637 uint64_t length;
643 __u32 mode;638 uint32_t mode;
644 __u32 padding;639 uint32_t padding;
645};640};
646 641
647struct fuse_in_header {642struct fuse_in_header {
648 __u32 len;643 uint32_t len;
649 __u32 opcode;644 uint32_t opcode;
650 __u64 unique;645 uint64_t unique;
651 __u64 nodeid;646 uint64_t nodeid;
652 __u32 uid;647 uint32_t uid;
653 __u32 gid;648 uint32_t gid;
654 __u32 pid;649 uint32_t pid;
655 __u32 padding;650 uint32_t padding;
656};651};
657 652
658struct fuse_out_header {653struct fuse_out_header {
659 __u32 len;654 uint32_t len;
660 __s32 error;655 int32_t error;
661 __u64 unique;656 uint64_t unique;
662};657};
663 658
664struct fuse_dirent {659struct fuse_dirent {
665 __u64 ino;660 uint64_t ino;
666 __u64 off;661 uint64_t off;
667 __u32 namelen;662 uint32_t namelen;
668 __u32 type;663 uint32_t type;
669 char name[];664 char name[];
670};665};
671 666
672#define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name)667#define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name)
673#define FUSE_DIRENT_ALIGN(x) (((x) + sizeof(__u64) - 1) & ~(sizeof(__u64) - 1))668#define FUSE_DIRENT_ALIGN(x) \
669 (((x) + sizeof(uint64_t) - 1) & ~(sizeof(uint64_t) - 1))
674#define FUSE_DIRENT_SIZE(d) \670#define FUSE_DIRENT_SIZE(d) \
675 FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen)671 FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen)
676 672
@@ -685,47 +681,47 @@ struct fuse_direntplus { · 8 unmodified lines
685 FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET_DIRENTPLUS + (d)->dirent.namelen)681 FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET_DIRENTPLUS + (d)->dirent.namelen)
686 682
687struct fuse_notify_inval_inode_out {683struct fuse_notify_inval_inode_out {
688 __u64 ino;684 uint64_t ino;
689 __s64 off;685 int64_t off;
690 __s64 len;686 int64_t len;
691};687};
692 688
693struct fuse_notify_inval_entry_out {689struct fuse_notify_inval_entry_out {
694 __u64 parent;690 uint64_t parent;
695 __u32 namelen;691 uint32_t namelen;
696 __u32 padding;692 uint32_t padding;
697};693};
698 694
699struct fuse_notify_delete_out {695struct fuse_notify_delete_out {
700 __u64 parent;696 uint64_t parent;
701 __u64 child;697 uint64_t child;
702 __u32 namelen;698 uint32_t namelen;
703 __u32 padding;699 uint32_t padding;
704};700};
705 701
706struct fuse_notify_store_out {702struct fuse_notify_store_out {
707 __u64 nodeid;703 uint64_t nodeid;
708 __u64 offset;704 uint64_t offset;
709 __u32 size;705 uint32_t size;
710 __u32 padding;706 uint32_t padding;
711};707};
712 708
713struct fuse_notify_retrieve_out {709struct fuse_notify_retrieve_out {
714 __u64 notify_unique;710 uint64_t notify_unique;
715 __u64 nodeid;711 uint64_t nodeid;
716 __u64 offset;712 uint64_t offset;
717 __u32 size;713 uint32_t size;
718 __u32 padding;714 uint32_t padding;
719};715};
720 716
721/* Matches the size of fuse_write_in */717/* Matches the size of fuse_write_in */
722struct fuse_notify_retrieve_in {718struct fuse_notify_retrieve_in {
723 __u64 dummy1;719 uint64_t dummy1;
724 __u64 offset;720 uint64_t offset;
725 __u32 size;721 uint32_t size;
726 __u32 dummy2;722 uint32_t dummy2;
727 __u64 dummy3;723 uint64_t dummy3;
728 __u64 dummy4;724 uint64_t dummy4;
729};725};
730 726
731#endif /* _LINUX_FUSE_H */727#endif /* _LINUX_FUSE_H */