Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
go-fuse
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Levin Zimmermann
go-fuse
Commits
c818f9ca
Commit
c818f9ca
authored
Aug 11, 2010
by
Ivan Krasin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Type names changed to Go-ish
parent
f8d1fa03
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
195 additions
and
193 deletions
+195
-193
fuse/fuse.go
fuse/fuse.go
+195
-193
No files found.
fuse/fuse.go
View file @
c818f9ca
...
@@ -123,50 +123,6 @@ FUSE_COMPAT_STATFS_SIZE = 48
...
@@ -123,50 +123,6 @@ FUSE_COMPAT_STATFS_SIZE = 48
CUSE_INIT_INFO_MAX
=
4096
CUSE_INIT_INFO_MAX
=
4096
)
/* Make sure all structures are padded to 64bit boundary, so 32bit
userspace works under 64bit kernels */
type
fuse_attr
struct
{
ino
__u64
size
__u64
blocks
__u64
atime
__u64
mtime
__u64
ctime
__u64
atimensec
__u32
mtimensec
__u32
ctimensec
__u32
mode
__u32
nlink
__u32
uid
__u32
gid
__u32
rdev
__u32
blksize
__u32
padding
__u32
}
type
fuse_kstatfs
struct
{
blocks
__u64
bfree
__u64
bavail
__u64
files
__u64
ffree
__u64
bsize
__u32
namelen
__u32
frsize
__u32
padding
__u32
__u32
spare
[
6
]
}
type
fuse_file_lock
struct
{
start
__u64
end
__u64
type
__u32
pid
__u32
/* tgid */
}
enum
fuse_opcode
{
enum
fuse_opcode
{
FUSE_LOOKUP
=
1
,
FUSE_LOOKUP
=
1
,
FUSE_FORGET
=
2
,
/* no reply */
FUSE_FORGET
=
2
,
/* no reply */
...
@@ -218,131 +174,177 @@ enum fuse_notify_code {
...
@@ -218,131 +174,177 @@ enum fuse_notify_code {
FUSE_NOTIFY_CODE_MAX
,
FUSE_NOTIFY_CODE_MAX
,
}
}
)
/* Make sure all structures are padded to 64bit boundary, so 32bit
userspace works under 64bit kernels */
type
fuse_attr
struct
{
ino
uint64
size
uint64
blocks
uint64
atime
uint64
mtime
uint64
ctime
uint64
atimensec
uint32
mtimensec
uint32
ctimensec
uint32
mode
uint32
nlink
uint32
uid
uint32
gid
uint32
rdev
uint32
blksize
uint32
padding
uint32
}
type
fuse_kstatfs
struct
{
blocks
uint64
bfree
uint64
bavail
uint64
files
uint64
ffree
uint64
bsize
uint32
namelen
uint32
frsize
uint32
padding
uint32
spare
[
6
]
uint32
}
type
fuse_file_lock
struct
{
start
uint64
end
uint64
typ
uint32
pid
uint32
/* tgid */
}
type
fuse_entry_out
struct
{
type
fuse_entry_out
struct
{
nodeid
__u
64
/* Inode ID */
nodeid
uint
64
/* Inode ID */
generation
__u
64
/* Inode generation: nodeid:gen must
generation
uint
64
/* Inode generation: nodeid:gen must
be unique for the fs's lifetime */
be unique for the fs's lifetime */
entry_valid
__u
64
/* Cache timeout for the name */
entry_valid
uint
64
/* Cache timeout for the name */
attr_valid
__u
64
/* Cache timeout for the attributes */
attr_valid
uint
64
/* Cache timeout for the attributes */
entry_valid_nsec
__u
32
entry_valid_nsec
uint
32
attr_valid_nsec
__u
32
attr_valid_nsec
uint
32
attr
fuse_attr
attr
fuse_attr
}
}
type
fuse_forget_in
struct
{
type
fuse_forget_in
struct
{
nlookup
__u
64
nlookup
uint
64
}
}
type
fuse_getattr_in
struct
{
type
fuse_getattr_in
struct
{
getattr_flags
__u
32
getattr_flags
uint
32
dummy
__u
32
dummy
uint
32
fh
__u
64
fh
uint
64
}
}
type
fuse_attr_out
struct
{
type
fuse_attr_out
struct
{
attr_valid
__u
64
/* Cache timeout for the attributes */
attr_valid
uint
64
/* Cache timeout for the attributes */
attr_valid_nsec
__u
32
attr_valid_nsec
uint
32
dummy
__u
32
dummy
uint
32
attr
fuse_attr
attr
fuse_attr
}
}
type
fuse_mknod_in
struct
{
type
fuse_mknod_in
struct
{
mode
__u
32
mode
uint
32
rdev
__u
32
rdev
uint
32
umask
__u
32
umask
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_mkdir_in
struct
{
type
fuse_mkdir_in
struct
{
mode
__u
32
mode
uint
32
umask
__u
32
umask
uint
32
}
}
type
fuse_rename_in
struct
{
type
fuse_rename_in
struct
{
newdir
__u
64
newdir
uint
64
}
}
type
fuse_link_in
struct
{
type
fuse_link_in
struct
{
oldnodeid
__u
64
oldnodeid
uint
64
}
}
type
fuse_setattr_in
struct
{
type
fuse_setattr_in
struct
{
valid
__u
32
valid
uint
32
padding
__u
32
padding
uint
32
fh
__u
64
fh
uint
64
size
__u
64
size
uint
64
lock_owner
__u
64
lock_owner
uint
64
atime
__u
64
atime
uint
64
mtime
__u
64
mtime
uint
64
unused2
__u
64
unused2
uint
64
atimensec
__u
32
atimensec
uint
32
mtimensec
__u
32
mtimensec
uint
32
unused3
__u
32
unused3
uint
32
mode
__u
32
mode
uint
32
unused4
__u
32
unused4
uint
32
uid
__u
32
uid
uint
32
gid
__u
32
gid
uint
32
unused5
__u
32
unused5
uint
32
}
}
type
fuse_open_in
struct
{
type
fuse_open_in
struct
{
flags
__u
32
flags
uint
32
unused
__u
32
unused
uint
32
}
}
type
fuse_create_in
struct
{
type
fuse_create_in
struct
{
flags
__u
32
flags
uint
32
mode
__u
32
mode
uint
32
umask
__u
32
umask
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_open_out
struct
{
type
fuse_open_out
struct
{
fh
__u
64
fh
uint
64
open_flags
__u
32
open_flags
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_release_in
struct
{
type
fuse_release_in
struct
{
fh
__u
64
fh
uint
64
flags
__u
32
flags
uint
32
release_flags
__u
32
release_flags
uint
32
lock_owner
__u
64
lock_owner
uint
64
}
}
type
fuse_flush_in
struct
{
type
fuse_flush_in
struct
{
fh
__u
64
fh
uint
64
unused
__u
32
unused
uint
32
padding
__u
32
padding
uint
32
lock_owner
__u
64
lock_owner
uint
64
}
}
type
fuse_read_in
struct
{
type
fuse_read_in
struct
{
fh
__u
64
fh
uint
64
offset
__u
64
offset
uint
64
size
__u
32
size
uint
32
read_flags
__u
32
read_flags
uint
32
lock_owner
__u
64
lock_owner
uint
64
flags
__u
32
flags
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_write_in
struct
{
type
fuse_write_in
struct
{
fh
__u
64
fh
uint
64
offset
__u
64
offset
uint
64
size
__u
32
size
uint
32
write_flags
__u
32
write_flags
uint
32
lock_owner
__u
64
lock_owner
uint
64
flags
__u
32
flags
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_write_out
struct
{
type
fuse_write_out
struct
{
size
__u
32
size
uint
32
padding
__u
32
padding
uint
32
}
}
...
@@ -351,32 +353,32 @@ type fuse_statfs_out struct {
...
@@ -351,32 +353,32 @@ type fuse_statfs_out struct {
}
}
type
fuse_fsync_in
struct
{
type
fuse_fsync_in
struct
{
fh
__u
64
fh
uint
64
fsync_flags
__u
32
fsync_flags
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_setxattr_in
struct
{
type
fuse_setxattr_in
struct
{
size
__u
32
size
uint
32
flags
__u
32
flags
uint
32
}
}
type
fuse_getxattr_in
struct
{
type
fuse_getxattr_in
struct
{
size
__u
32
size
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_getxattr_out
struct
{
type
fuse_getxattr_out
struct
{
size
__u
32
size
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_lk_in
struct
{
type
fuse_lk_in
struct
{
fh
__u
64
fh
uint
64
owner
__u
64
owner
uint
64
lk
fuse_file_lock
lk
fuse_file_lock
lk_flags
__u
32
lk_flags
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_lk_out
struct
{
type
fuse_lk_out
struct
{
...
@@ -384,126 +386,126 @@ type fuse_lk_out struct {
...
@@ -384,126 +386,126 @@ type fuse_lk_out struct {
}
}
type
fuse_access_in
struct
{
type
fuse_access_in
struct
{
mask
__u
32
mask
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_init_in
struct
{
type
fuse_init_in
struct
{
major
__u
32
major
uint
32
minor
__u
32
minor
uint
32
max_readahead
__u
32
max_readahead
uint
32
flags
__u
32
flags
uint
32
}
}
type
fuse_init_out
struct
{
type
fuse_init_out
struct
{
major
__u
32
major
uint
32
minor
__u
32
minor
uint
32
max_readahead
__u
32
max_readahead
uint
32
flags
__u
32
flags
uint
32
__u16
max_background
max_background
uint16
__u16
congestion_threshold
congestion_threshold
uint16
max_write
__u
32
max_write
uint
32
}
}
type
cuse_init_in
struct
{
type
cuse_init_in
struct
{
major
__u
32
major
uint
32
minor
__u
32
minor
uint
32
unused
__u
32
unused
uint
32
flags
__u
32
flags
uint
32
}
}
type
cuse_init_out
struct
{
type
cuse_init_out
struct
{
major
__u
32
major
uint
32
minor
__u
32
minor
uint
32
unused
__u
32
unused
uint
32
flags
__u
32
flags
uint
32
max_read
__u
32
max_read
uint
32
max_write
__u
32
max_write
uint
32
dev_major
__u
32
/* chardev major */
dev_major
uint
32
/* chardev major */
dev_minor
__u
32
/* chardev minor */
dev_minor
uint
32
/* chardev minor */
spare
[
10
]
__u
32
spare
[
10
]
uint
32
}
}
type
fuse_interrupt_in
struct
{
type
fuse_interrupt_in
struct
{
unique
__u
64
unique
uint
64
}
}
type
fuse_bmap_in
struct
{
type
fuse_bmap_in
struct
{
block
__u
64
block
uint
64
blocksize
__u
32
blocksize
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_bmap_out
struct
{
type
fuse_bmap_out
struct
{
block
__u
64
block
uint
64
}
}
type
fuse_ioctl_in
struct
{
type
fuse_ioctl_in
struct
{
fh
__u
64
fh
uint
64
flags
__u
32
flags
uint
32
cmd
__u
32
cmd
uint
32
arg
__u
64
arg
uint
64
in_size
__u
32
in_size
uint
32
out_size
__u
32
out_size
uint
32
}
}
type
fuse_ioctl_out
struct
{
type
fuse_ioctl_out
struct
{
result
__s32
result
__s32
flags
__u
32
flags
uint
32
in_iovs
__u
32
in_iovs
uint
32
out_iovs
__u
32
out_iovs
uint
32
}
}
type
fuse_poll_in
struct
{
type
fuse_poll_in
struct
{
fh
__u
64
fh
uint
64
kh
__u
64
kh
uint
64
flags
__u
32
flags
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_poll_out
struct
{
type
fuse_poll_out
struct
{
revents
__u
32
revents
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_notify_poll_wakeup_out
struct
{
type
fuse_notify_poll_wakeup_out
struct
{
kh
__u
64
kh
uint
64
}
}
type
fuse_in_header
struct
{
type
fuse_in_header
struct
{
len
__u
32
len
uint
32
opcode
__u
32
opcode
uint
32
unique
__u
64
unique
uint
64
nodeid
__u
64
nodeid
uint
64
uid
__u
32
uid
uint
32
gid
__u
32
gid
uint
32
pid
__u
32
pid
uint
32
padding
__u
32
padding
uint
32
}
}
type
fuse_out_header
struct
{
type
fuse_out_header
struct
{
len
__u
32
len
uint
32
error
__s32
error
__s32
unique
__u
64
unique
uint
64
}
}
type
fuse_dirent
struct
{
type
fuse_dirent
struct
{
ino
__u
64
ino
uint
64
off
__u
64
off
uint
64
namelen
__u
32
namelen
uint
32
typ
__u
32
typ
uint
32
name
[]
byte
// char name[0] -- looks like the name is right after this struct.
//
name []byte // char name[0] -- looks like the name is right after this struct.
}
}
type
fuse_notify_inval_inode_out
struct
{
type
fuse_notify_inval_inode_out
struct
{
ino
__u
64
ino
uint
64
off
__s64
off
__s64
len
__s64
len
__s64
}
}
type
fuse_notify_inval_entry_out
struct
{
type
fuse_notify_inval_entry_out
struct
{
parent
__u
64
parent
uint
64
namelen
__u
32
namelen
uint
32
padding
__u
32
padding
uint
32
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment