@jsonjoy.com/json-pack
Version:
High-performance JSON serialization library
394 lines (393 loc) • 8.97 kB
TypeScript
import { Reader } from '@jsonjoy.com/buffers/lib/Reader';
export declare const EMPY_U8: Uint8Array<ArrayBuffer>;
export declare const EMPTY_READER: Reader;
/**
* NFSv4 Protocol Constants
* Based on RFC 7530
*/
/**
* NFSv4 protocol constants
*/
export declare const enum Nfsv4Const {
PROGRAM = 100003,
VERSION = 4,
FHSIZE = 128,
VERIFIER_SIZE = 8,
OPAQUE_LIMIT = 1024,
OTHER_SIZE = 12
}
/**
* NFSv4 procedure numbers
* NFSv4 uses COMPOUND (procedure 1) for all operations
*/
export declare const enum Nfsv4Proc {
NULL = 0,
COMPOUND = 1
}
/**
* NFSv4 callback procedure numbers
*/
export declare const enum Nfsv4CbProc {
CB_NULL = 0,
CB_COMPOUND = 1
}
/**
* NFSv4 operation codes
*/
export declare const enum Nfsv4Op {
ACCESS = 3,
CLOSE = 4,
COMMIT = 5,
CREATE = 6,
DELEGPURGE = 7,
DELEGRETURN = 8,
GETATTR = 9,
GETFH = 10,
LINK = 11,
LOCK = 12,
LOCKT = 13,
LOCKU = 14,
LOOKUP = 15,
LOOKUPP = 16,
NVERIFY = 17,
OPEN = 18,
OPENATTR = 19,
OPEN_CONFIRM = 20,
OPEN_DOWNGRADE = 21,
PUTFH = 22,
PUTPUBFH = 23,
PUTROOTFH = 24,
READ = 25,
READDIR = 26,
READLINK = 27,
REMOVE = 28,
RENAME = 29,
RENEW = 30,
RESTOREFH = 31,
SAVEFH = 32,
SECINFO = 33,
SETATTR = 34,
SETCLIENTID = 35,
SETCLIENTID_CONFIRM = 36,
VERIFY = 37,
WRITE = 38,
RELEASE_LOCKOWNER = 39,
ILLEGAL = 10044
}
/**
* NFSv4 callback operation codes
*/
export declare const enum Nfsv4CbOp {
CB_GETATTR = 3,
CB_RECALL = 4,
CB_ILLEGAL = 10044
}
/**
* NFSv4 status codes
*/
export declare const enum Nfsv4Stat {
NFS4_OK = 0,
NFS4ERR_PERM = 1,
NFS4ERR_NOENT = 2,
NFS4ERR_IO = 5,
NFS4ERR_NXIO = 6,
NFS4ERR_ACCESS = 13,
NFS4ERR_EXIST = 17,
NFS4ERR_XDEV = 18,
NFS4ERR_NOTDIR = 20,
NFS4ERR_ISDIR = 21,
NFS4ERR_INVAL = 22,
NFS4ERR_FBIG = 27,
NFS4ERR_NOSPC = 28,
NFS4ERR_ROFS = 30,
NFS4ERR_MLINK = 31,
NFS4ERR_NAMETOOLONG = 63,
NFS4ERR_NOTEMPTY = 66,
NFS4ERR_DQUOT = 69,
NFS4ERR_STALE = 70,
NFS4ERR_BADHANDLE = 10001,
NFS4ERR_BAD_COOKIE = 10003,
NFS4ERR_NOTSUPP = 10004,
NFS4ERR_TOOSMALL = 10005,
NFS4ERR_SERVERFAULT = 10006,
NFS4ERR_BADTYPE = 10007,
NFS4ERR_DELAY = 10008,
NFS4ERR_SAME = 10009,
NFS4ERR_DENIED = 10010,
NFS4ERR_EXPIRED = 10011,
NFS4ERR_LOCKED = 10012,
NFS4ERR_GRACE = 10013,
NFS4ERR_FHEXPIRED = 10014,
NFS4ERR_SHARE_DENIED = 10015,
NFS4ERR_WRONGSEC = 10016,
NFS4ERR_CLID_INUSE = 10017,
NFS4ERR_RESOURCE = 10018,
NFS4ERR_MOVED = 10019,
NFS4ERR_NOFILEHANDLE = 10020,
NFS4ERR_MINOR_VERS_MISMATCH = 10021,
NFS4ERR_STALE_CLIENTID = 10022,
NFS4ERR_STALE_STATEID = 10023,
NFS4ERR_OLD_STATEID = 10024,
NFS4ERR_BAD_STATEID = 10025,
NFS4ERR_BAD_SEQID = 10026,
NFS4ERR_NOT_SAME = 10027,
NFS4ERR_LOCK_RANGE = 10028,
NFS4ERR_SYMLINK = 10029,
NFS4ERR_RESTOREFH = 10030,
NFS4ERR_LEASE_MOVED = 10031,
NFS4ERR_ATTRNOTSUPP = 10032,
NFS4ERR_NO_GRACE = 10033,
NFS4ERR_RECLAIM_BAD = 10034,
NFS4ERR_RECLAIM_CONFLICT = 10035,
NFS4ERR_BADXDR = 10036,
NFS4ERR_LOCKS_HELD = 10037,
NFS4ERR_OPENMODE = 10038,
NFS4ERR_BADOWNER = 10039,
NFS4ERR_BADCHAR = 10040,
NFS4ERR_BADNAME = 10041,
NFS4ERR_BAD_RANGE = 10042,
NFS4ERR_LOCK_NOTSUPP = 10043,
NFS4ERR_OP_ILLEGAL = 10044,
NFS4ERR_DEADLOCK = 10045,
NFS4ERR_FILE_OPEN = 10046,
NFS4ERR_ADMIN_REVOKED = 10047,
NFS4ERR_CB_PATH_DOWN = 10048
}
/**
* File type enumeration
*/
export declare const enum Nfsv4FType {
NF4REG = 1,
NF4DIR = 2,
NF4BLK = 3,
NF4CHR = 4,
NF4LNK = 5,
NF4SOCK = 6,
NF4FIFO = 7,
NF4ATTRDIR = 8,
NF4NAMEDATTR = 9
}
/**
* Time setting enumeration for SETATTR
*/
export declare const enum Nfsv4TimeHow {
SET_TO_SERVER_TIME4 = 0,
SET_TO_CLIENT_TIME4 = 1
}
/**
* Stable storage write mode for WRITE operation
*/
export declare const enum Nfsv4StableHow {
UNSTABLE4 = 0,
DATA_SYNC4 = 1,
FILE_SYNC4 = 2
}
/**
* File creation mode for CREATE operation
*/
export declare const enum Nfsv4CreateMode {
UNCHECKED4 = 0,
GUARDED4 = 1,
EXCLUSIVE4 = 2
}
/**
* Open flags for OPEN operation
*/
export declare const enum Nfsv4OpenFlags {
OPEN4_NOCREATE = 0,
OPEN4_CREATE = 1
}
/**
* Open access flags
*/
export declare const enum Nfsv4OpenAccess {
OPEN4_SHARE_ACCESS_READ = 1,
OPEN4_SHARE_ACCESS_WRITE = 2,
OPEN4_SHARE_ACCESS_BOTH = 3
}
/**
* Open deny flags
*/
export declare const enum Nfsv4OpenDeny {
OPEN4_SHARE_DENY_NONE = 0,
OPEN4_SHARE_DENY_READ = 1,
OPEN4_SHARE_DENY_WRITE = 2,
OPEN4_SHARE_DENY_BOTH = 3
}
/**
* Open claim types
*/
export declare const enum Nfsv4OpenClaimType {
CLAIM_NULL = 0,
CLAIM_PREVIOUS = 1,
CLAIM_DELEGATE_CUR = 2,
CLAIM_DELEGATE_PREV = 3
}
/**
* Delegation types
*/
export declare const enum Nfsv4DelegType {
OPEN_DELEGATE_NONE = 0,
OPEN_DELEGATE_READ = 1,
OPEN_DELEGATE_WRITE = 2
}
/**
* Lock types
*/
export declare const enum Nfsv4LockType {
READ_LT = 1,
WRITE_LT = 2,
READW_LT = 3,
WRITEW_LT = 4
}
/**
* Access permission bit flags for ACCESS operation
*/
export declare const enum Nfsv4Access {
ACCESS4_READ = 1,
ACCESS4_LOOKUP = 2,
ACCESS4_MODIFY = 4,
ACCESS4_EXTEND = 8,
ACCESS4_DELETE = 16,
ACCESS4_EXECUTE = 32
}
/**
* ACE type
*/
export declare const enum Nfsv4AceType {
ACE4_ACCESS_ALLOWED_ACE_TYPE = 0,
ACE4_ACCESS_DENIED_ACE_TYPE = 1,
ACE4_SYSTEM_AUDIT_ACE_TYPE = 2,
ACE4_SYSTEM_ALARM_ACE_TYPE = 3
}
/**
* ACE flags
*/
export declare const enum Nfsv4AceFlag {
ACE4_FILE_INHERIT_ACE = 1,
ACE4_DIRECTORY_INHERIT_ACE = 2,
ACE4_NO_PROPAGATE_INHERIT_ACE = 4,
ACE4_INHERIT_ONLY_ACE = 8,
ACE4_SUCCESSFUL_ACCESS_ACE_FLAG = 16,
ACE4_FAILED_ACCESS_ACE_FLAG = 32,
ACE4_IDENTIFIER_GROUP = 64
}
/**
* ACE masks
*/
export declare const enum Nfsv4AceMask {
ACE4_READ_DATA = 1,
ACE4_LIST_DIRECTORY = 1,
ACE4_WRITE_DATA = 2,
ACE4_ADD_FILE = 2,
ACE4_APPEND_DATA = 4,
ACE4_ADD_SUBDIRECTORY = 4,
ACE4_READ_NAMED_ATTRS = 8,
ACE4_WRITE_NAMED_ATTRS = 16,
ACE4_EXECUTE = 32,
ACE4_DELETE_CHILD = 64,
ACE4_READ_ATTRIBUTES = 128,
ACE4_WRITE_ATTRIBUTES = 256,
ACE4_DELETE = 65536,
ACE4_READ_ACL = 131072,
ACE4_WRITE_ACL = 262144,
ACE4_WRITE_OWNER = 524288,
ACE4_SYNCHRONIZE = 1048576
}
/**
* ACL support flags
*/
export declare const enum Nfsv4AclSupport {
ACL4_SUPPORT_ALLOW_ACL = 1,
ACL4_SUPPORT_DENY_ACL = 2,
ACL4_SUPPORT_AUDIT_ACL = 4,
ACL4_SUPPORT_ALARM_ACL = 8
}
/**
* File mode permission bits
*/
export declare const enum Nfsv4Mode {
MODE4_SUID = 2048,
MODE4_SGID = 1024,
MODE4_SVTX = 512,
MODE4_RUSR = 256,
MODE4_WUSR = 128,
MODE4_XUSR = 64,
MODE4_RGRP = 32,
MODE4_WGRP = 16,
MODE4_XGRP = 8,
MODE4_ROTH = 4,
MODE4_WOTH = 2,
MODE4_XOTH = 1
}
/**
* Filehandle expire type flags
*/
export declare const enum Nfsv4FhExpireType {
FH4_PERSISTENT = 0,
FH4_NOEXPIRE_WITH_OPEN = 1,
FH4_VOLATILE_ANY = 2,
FH4_VOL_MIGRATION = 4,
FH4_VOL_RENAME = 8
}
/**
* NFSv4 attribute numbers
*/
export declare const enum Nfsv4Attr {
FATTR4_SUPPORTED_ATTRS = 0,
FATTR4_TYPE = 1,
FATTR4_FH_EXPIRE_TYPE = 2,
FATTR4_CHANGE = 3,
FATTR4_SIZE = 4,
FATTR4_LINK_SUPPORT = 5,
FATTR4_SYMLINK_SUPPORT = 6,
FATTR4_NAMED_ATTR = 7,
FATTR4_FSID = 8,
FATTR4_UNIQUE_HANDLES = 9,
FATTR4_LEASE_TIME = 10,
FATTR4_RDATTR_ERROR = 11,
FATTR4_ACL = 12,
FATTR4_ACLSUPPORT = 13,
FATTR4_ARCHIVE = 14,
FATTR4_CANSETTIME = 15,
FATTR4_CASE_INSENSITIVE = 16,
FATTR4_CASE_PRESERVING = 17,
FATTR4_CHOWN_RESTRICTED = 18,
FATTR4_FILEHANDLE = 19,
FATTR4_FILEID = 20,
FATTR4_FILES_AVAIL = 21,
FATTR4_FILES_FREE = 22,
FATTR4_FILES_TOTAL = 23,
FATTR4_FS_LOCATIONS = 24,
FATTR4_HIDDEN = 25,
FATTR4_HOMOGENEOUS = 26,
FATTR4_MAXFILESIZE = 27,
FATTR4_MAXLINK = 28,
FATTR4_MAXNAME = 29,
FATTR4_MAXREAD = 30,
FATTR4_MAXWRITE = 31,
FATTR4_MIMETYPE = 32,
FATTR4_MODE = 33,
FATTR4_NO_TRUNC = 34,
FATTR4_NUMLINKS = 35,
FATTR4_OWNER = 36,
FATTR4_OWNER_GROUP = 37,
FATTR4_QUOTA_AVAIL_HARD = 38,
FATTR4_QUOTA_AVAIL_SOFT = 39,
FATTR4_QUOTA_USED = 40,
FATTR4_RAWDEV = 41,
FATTR4_SPACE_AVAIL = 42,
FATTR4_SPACE_FREE = 43,
FATTR4_SPACE_TOTAL = 44,
FATTR4_SPACE_USED = 45,
FATTR4_SYSTEM = 46,
FATTR4_TIME_ACCESS = 47,
FATTR4_TIME_ACCESS_SET = 48,
FATTR4_TIME_BACKUP = 49,
FATTR4_TIME_CREATE = 50,
FATTR4_TIME_DELTA = 51,
FATTR4_TIME_METADATA = 52,
FATTR4_TIME_MODIFY = 53,
FATTR4_TIME_MODIFY_SET = 54,
FATTR4_MOUNTED_ON_FILEID = 55
}