You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Webufse 2 Protocol
Endianness
All numeric data types are transferred in Big Endian.
For instance, the uint32 value 1 will be transferred as
00 00 00 01
Data Types
Basic data types
Data Type |
Width |
Description |
bool |
8 bit |
boolean value |
u8 |
8 bit |
8 bit unsigned integer |
u32 |
32 bit |
32 bit unsigned integer |
u64 |
64 bit |
64 bit unsigned integer |
i32 |
32 bit |
32 bit signed integer |
Derrived integral types
Data Type |
Base Type |
Description |
uid |
u32 |
user ID |
gid |
u32 |
group ID |
dev |
u64 |
device ID |
handle |
u64 |
file handle |
Flags and Enums
Data Type |
Base Type |
Description |
result |
i32 |
result type of methods |
access_mode |
u32 |
mode of access method |
mode |
u32 |
file type and permissions |
open_flags |
i32 |
flags of open method |
rename_flags |
u8 |
flags of rename method |
result
Value Range |
Description |
0 |
method call succeed |
negative value |
error code (see below) |
positive value |
amount of bytes read or written (read and write only) |
Error Code |
Value |
Description |
E2BIG |
-7 |
argument list too long |
EACCES |
-13 |
permission denied |
EAGAIN |
-11 |
resource temporarily unavailable |
EBADF |
-9 |
bad file descriptor |
EBUSY |
-16 |
device or resource busy |
EDESTADDRREQ |
-89 |
destination address required |
EDQUOT |
-122 |
disk quota exceeded |
EEXIST |
-17 |
file exists |
EFAULT |
-14 |
bad address |
EFBIG |
-27 |
file too large |
EINTR |
-4 |
interrupt function call |
EINVAL |
-22 |
invalid argument |
EIO |
-5 |
input / output error |
EISDIR |
-21 |
is a directory |
ELOOP |
-40 |
too many levels of symbolic links |
EMFILE |
-24 |
too many open files |
EMLINK |
-31 |
too many links |
ENAMETOOLONG |
-36 |
filename too long |
ENFILE |
-23 |
too many open files in system |
ENODATA |
-61 |
the named attribute does not exist, or the process has not access to this attribute |
ENODEV |
-19 |
no such device |
ENOENT |
-2 |
no such file or directory |
ENOMEM |
-12 |
not enough space / cannot allocate memory |
ENOSPC |
-28 |
no space left on device |
ENOSYS |
-38 |
function not implemented |
ENOTDIR |
-20 |
not a directory |
ENOTEMPTY |
-39 |
directory not empty |
ENOTSUP |
-95 |
operation not supported |
ENXIO |
-6 |
no such device or address |
EOVERFLOW |
-75 |
value too large to be stored in data type |
EPERM |
-1 |
operation not permitted |
EPIPE |
-32 |
broken pipe |
ERANGE |
-34 |
result too large |
EROFS |
-30 |
read-only filesystem |
ETXTBSY |
-26 |
text file busy |
EXDEV |
-18 |
improper link |
EWOULDBLOCK |
-11 |
resource temporarily unavailable |
Complex Types
Data Type |
Description |
string |
UTF-8 string |
bytes |
array of bytes |
timestamp |
date and time |
attributes |
file attributes |
statistics |
filesystem statistics |
string
Field |
Data Type |
Description |
size |
u32 |
length of the string in bytes |
data |
u8[] |
string data (UTF-8) |
bytes
Field |
Data Type |
Description |
size |
u32 |
length of the byte array |
data |
u8[] |
array data |
timestamp
Field |
Data Type |
Description |
seconds |
u64 |
seconds sind epoch (1.1.1970) |
nsec |
u32 |
nano seconds |
attributes
Field |
Data Type |
Description |
inode |
u64 |
Inode value |
nlink |
u64 |
Number of hard links |
mode |
mode (u32) |
file mode flags |
uid |
uid (u32) |
user ID |
gid |
gid (u32) |
group ID |
rdev |
dev (u64) |
device ID |
size |
u64 |
file size |
blocks |
u64 |
number 512-byte blocks |
atime |
timestamp |
time of last access |
mtime |
timestamp |
time of last modification |
ctime |
timestamp |
time of last status change |
statistics
Message
Methods
access
Field |
Data Type |
Description |
|
uint32 |
message id |
type |
uint8 |
message type (0x00) |
path |
string |
|
mode |
access_mode (i8) |
|
Response
| Field |