blob: 2112a4878e9ab55629fba6ec5d5cf755a6f47e7f [file] [log] [blame] [edit]
# Copyright 2023 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
include <uapi/linux/quota.h>
quotactl$Q_SYNC(cmd flags[quota_cmd_sync], special const[0], id const[0], addr const[0])
quotactl$Q_QUOTAON(cmd flags[quota_cmd_quota_on], special ptr[in, blockdev_filename], id uid, addr ptr[in, filename])
quotactl$Q_QUOTAOFF(cmd flags[quota_cmd_quota_off], special ptr[in, blockdev_filename], id uid, addr const[0])
quotactl$Q_GETFMT(cmd flags[quota_cmd_getfmt], special ptr[in, blockdev_filename], id uid, addr ptr[out, int32])
quotactl$Q_GETINFO(cmd flags[quota_cmd_getinfo], special ptr[in, blockdev_filename], id uid, addr ptr[out, if_dqinfo])
quotactl$Q_SETINFO(cmd flags[quota_cmd_setinfo], special ptr[in, blockdev_filename], id uid, addr ptr[in, if_dqinfo])
quotactl$Q_GETQUOTA(cmd flags[quota_cmd_getquota], special ptr[in, blockdev_filename], id uid, addr ptr[out, if_dqblk])
quotactl$Q_SETQUOTA(cmd flags[quota_cmd_setquota], special ptr[in, blockdev_filename], id uid, addr ptr[in, if_dqblk])
quotactl$Q_GETNEXTQUOTA(cmd flags[quota_cmd_getnextquota], special ptr[in, blockdev_filename], id uid, addr ptr[out, if_nextdqblk])
quotactl_fd$Q_SYNC(fd fd, cmd flags[quota_cmd_sync], id const[0], addr const[0])
quotactl_fd$Q_QUOTAON(fd fd, cmd flags[quota_cmd_quota_on], id uid, addr ptr[in, filename])
quotactl_fd$Q_QUOTAOFF(fd fd, cmd flags[quota_cmd_quota_off], id uid, addr const[0])
quotactl_fd$Q_GETFMT(fd fd, cmd flags[quota_cmd_getfmt], id uid, addr ptr[out, int32])
quotactl_fd$Q_GETINFO(fd fd, cmd flags[quota_cmd_getinfo], id uid, addr ptr[out, if_dqinfo])
quotactl_fd$Q_SETINFO(fd fd, cmd flags[quota_cmd_setinfo], id uid, addr ptr[in, if_dqinfo])
quotactl_fd$Q_GETQUOTA(fd fd, cmd flags[quota_cmd_getquota], id uid, addr ptr[out, if_dqblk])
quotactl_fd$Q_SETQUOTA(fd fd, cmd flags[quota_cmd_setquota], id uid, addr ptr[in, if_dqblk])
quotactl_fd$Q_GETNEXTQUOTA(fd fd, cmd flags[quota_cmd_getnextquota], id uid, addr ptr[out, if_nextdqblk])
if_dqinfo {
dqi_bgrace int64
dqi_igrace int64
dqi_flags flags[quota_dgqinfo_flags, int32]
dqi_valid flags[quota_dgqinfo_valid, int32]
}
if_dqblk {
dqb_bhardlimit int64
dqb_bsoftlimit int64
dqb_curspace int64
dqb_ihardlimit int64
dqb_isoftlimit int64
dqb_curinodes int64
dqb_btime int64
dqb_itime int64
dqb_valid int32
}
if_nextdqblk {
dqb_bhardlimit int64
dqb_bsoftlimit int64
dqb_curspace int64
dqb_ihardlimit int64
dqb_isoftlimit int64
dqb_curinodes int64
dqb_btime int64
dqb_itime int64
dqb_valid int32
dqb_id int32
}
quota_dgqinfo_flags = DQF_ROOT_SQUASH
quota_dgqinfo_valid = IIF_BGRACE, IIF_IGRACE, IIF_FLAGS
quota_cmd_sync = Q_SYNC_USR, Q_SYNC_GRP, Q_SYNC_PRJ
quota_cmd_quota_on = Q_QUOTAON_USR, Q_QUOTAON_GRP, Q_QUOTAON_PRJ
quota_cmd_quota_off = Q_QUOTAOFF_USR, Q_QUOTAOFF_GRP, Q_QUOTAOFF_PRJ
quota_cmd_getfmt = Q_GETFMT_USR, Q_GETFMT_GRP, Q_GETFMT_PRJ
quota_cmd_getinfo = Q_GETINFO_USR, Q_GETINFO_GRP, Q_GETINFO_PRJ
quota_cmd_setinfo = Q_SETINFO_USR, Q_SETINFO_GRP, Q_SETINFO_PRJ
quota_cmd_getquota = Q_GETQUOTA_USR, Q_GETQUOTA_GRP, Q_GETQUOTA_PRJ
quota_cmd_setquota = Q_SETQUOTA_USR, Q_SETQUOTA_GRP, Q_SETQUOTA_PRJ
quota_cmd_getnextquota = Q_GETNEXTQUOTA_USR, Q_GETNEXTQUOTA_GRP, Q_GETNEXTQUOTA_PRJ
define Q_SYNC_USR (Q_SYNC << SUBCMDSHIFT) | USRQUOTA
define Q_SYNC_GRP (Q_SYNC << SUBCMDSHIFT) | GRPQUOTA
define Q_SYNC_PRJ (Q_SYNC << SUBCMDSHIFT) | PRJQUOTA
define Q_QUOTAON_USR (Q_QUOTAON << SUBCMDSHIFT) | USRQUOTA
define Q_QUOTAON_GRP (Q_QUOTAON << SUBCMDSHIFT) | GRPQUOTA
define Q_QUOTAON_PRJ (Q_QUOTAON << SUBCMDSHIFT) | PRJQUOTA
define Q_QUOTAOFF_USR (Q_QUOTAOFF << SUBCMDSHIFT) | USRQUOTA
define Q_QUOTAOFF_GRP (Q_QUOTAOFF << SUBCMDSHIFT) | GRPQUOTA
define Q_QUOTAOFF_PRJ (Q_QUOTAOFF << SUBCMDSHIFT) | PRJQUOTA
define Q_GETFMT_USR (Q_GETFMT << SUBCMDSHIFT) | USRQUOTA
define Q_GETFMT_GRP (Q_GETFMT << SUBCMDSHIFT) | GRPQUOTA
define Q_GETFMT_PRJ (Q_GETFMT << SUBCMDSHIFT) | PRJQUOTA
define Q_GETINFO_USR (Q_GETINFO << SUBCMDSHIFT) | USRQUOTA
define Q_GETINFO_GRP (Q_GETINFO << SUBCMDSHIFT) | GRPQUOTA
define Q_GETINFO_PRJ (Q_GETINFO << SUBCMDSHIFT) | PRJQUOTA
define Q_SETINFO_USR (Q_SETINFO << SUBCMDSHIFT) | USRQUOTA
define Q_SETINFO_GRP (Q_SETINFO << SUBCMDSHIFT) | GRPQUOTA
define Q_SETINFO_PRJ (Q_SETINFO << SUBCMDSHIFT) | PRJQUOTA
define Q_GETQUOTA_USR (Q_GETQUOTA << SUBCMDSHIFT) | USRQUOTA
define Q_GETQUOTA_GRP (Q_GETQUOTA << SUBCMDSHIFT) | GRPQUOTA
define Q_GETQUOTA_PRJ (Q_GETQUOTA << SUBCMDSHIFT) | PRJQUOTA
define Q_SETQUOTA_USR (Q_SETQUOTA << SUBCMDSHIFT) | USRQUOTA
define Q_SETQUOTA_GRP (Q_SETQUOTA << SUBCMDSHIFT) | GRPQUOTA
define Q_SETQUOTA_PRJ (Q_SETQUOTA << SUBCMDSHIFT) | PRJQUOTA
define Q_GETNEXTQUOTA_USR (Q_GETNEXTQUOTA << SUBCMDSHIFT) | USRQUOTA
define Q_GETNEXTQUOTA_GRP (Q_GETNEXTQUOTA << SUBCMDSHIFT) | GRPQUOTA
define Q_GETNEXTQUOTA_PRJ (Q_GETNEXTQUOTA << SUBCMDSHIFT) | PRJQUOTA