--- /dev/null
+PyObject * get_quota(int who, int id, const char *dev)
+{
+ struct dqblk dq;
+
+ if (!quotactl(QCMD(Q_GETQUOTA,who), dev, id, (caddr_t) &dq)) {
+ return Py_BuildValue("({s:K,s:(KK),s:K},{s:K,s:(KK),s:K})",
+ "used", dq.dqb_curspace,
+ "quota", dq.dqb_bsoftlimit, dq.dqb_bhardlimit,
+ "grace", dq.dqb_btime,
+ "used", dq.dqb_curinodes,
+ "quota", dq.dqb_isoftlimit, dq.dqb_ihardlimit,
+ "grace", dq.dqb_itime );
+ } else {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return NULL;
+ }
+}