2
# $Id: mkconfig.dat,v 1.4 2010-12-29 08:20:18-08 bll Exp $
2
# $Id: mkconfig.dat,v 1.14 2011-10-03 20:08:28-07 bll Exp $
3
3
# $Source: /home/bll/DI/di/D/features/RCS/mkconfig.dat,v $
4
# Copyright 2010 Brad Lanam, Walnut Creek, California USA
4
# Copyright 2011 Brad Lanam, Walnut Creek, California USA
7
7
option-file ../dioptions.dat
21
# libintl.h has dcls for gettext(), et. al.
25
# unistd.h has geteuid, et. al.
30
# _PATH_MOUNTED MNTTYPE_IGNORE
32
# for struct statvfs, statvfs()
39
chdr linux/dqblk_xfs.h
42
# quotas: QCMD, SUBCMD*, struct dqblk, USRQUOTA, GRPQUOTA
45
# quotas: uid_t, gid_t
25
57
clib bindtextdomain -lintl, -lintl -liconv
58
clib gettext -lintl, -lintl -liconv
60
clib textdomain -lintl, -lintl -liconv
28
clib GetDiskFreeSpaceEx
30
clib GetLogicalDriveStrings
31
clib GetVolumeInformation
75
# unixware needs -lgen
32
76
clib getmntent -lgen
33
clib gettext -lintl, -lintl -liconv
79
cdcl args noconst setmntent
38
# Linux: _PATH_MOUNTED mntent.h; MNTTYPE_IGNORE mntent.h
43
cdefstr MNTTYPE_IGNORE
51
# linux, 64-bit interface
83
# Linux: from statvfs.h
85
cmember statvfs f_basetype
86
# Linux: from mntent.h
87
cdefine string _PATH_MOUNTED
88
cdefine string _PATH_MNTTAB
89
cdefine string MOUNTED
91
# Linux: from mntent.h
92
cdefine string MNTTYPE_IGNORE
93
# Linux: from mntent.h
64
cdcl GetDiskFreeSpaceEx
66
cdcl GetLogicalDriveStrings
67
cdcl GetVolumeInformation
73
cmember statvfs f_basetype
95
# Linux: from statvfs.h
96
ctype int __fsblkcnt_t
97
ctype int __fsfilcnt_t
98
# Linux: 64-bit: from statvfs.h
99
ctype int __fsblkcnt64_t
100
ctype int __fsfilcnt64_t
104
# uid/gid; geteuid, getegid
115
cdefine hex SUBCMDSHIFT
116
cdefine hex SUBCMDMASK
117
cmacro QCMD sys/quota.h int int int
118
cdefine hex Q_GETQUOTA
119
cdefine hex Q_XGETQUOTA
123
# from rpcsvc/rquota.h
124
cdefine int RQUOTAPROG
125
cdefine int RQUOTAVERS
126
cdefine int RQUOTAPROC_GETQUOTA
131
cdcl args noconst quotactl
133
cmember dqblk dqb_curspace
134
cmember dqblk dqb_curblocks
135
cmember dqblk dqb_fhardlimit
136
cmember dqblk dqb_fsoftlimit
137
cmember dqblk dqb_curfiles
139
# from linux/dqblk_xfs.h
149
cdefine hex BLOCK_SIZE
151
cstruct fs_disk_quota
154
cdefine hex DEV_BSIZE
156
cdefine int __FreeBSD__
161
# from rpcsvc/rquota.h
171
clib authunix_create_default
172
cdcl authunix_create_default
173
cmacro auth_destroy rpc/auth.h void 'AUTH *'
176
cmacro clnt_call rpc/clnt.h clnt_stat 'CLIENT *' u_long xdrproc_t caddr_t xdrproc_t caddr_t 'struct timeval'
177
cmacro clnt_destroy rpc/clnt.h void 'CLIENT *'
195
cdefine int RQ_PATHLEN
197
# from rpcsvc/rquota.h
205
cmemberxdr rquota rq_bhardlimit
206
cmemberxdr rquota rq_bsoftlimit
207
cmemberxdr rquota rq_curblocks
208
cmemberxdr rquota rq_fhardlimit
209
cmemberxdr rquota rq_fsoftlimit
210
cmemberxdr rquota rq_curfiles
213
cstruct getquota_rslt
214
cmember getquota_rslt gqr_status
215
cmember getquota_rslt gqr_rquota
222
ctype int __suseconds_t
225
cstruct getquota_args
226
cmembertype getquota_args gqa_uid
227
cmemberxdr getquota_args gqa_uid
238
cdefine string DI_VERSION
75
241
# see dioptions.dat to change these
76
242
option DI_DEFAULT_FORMAT smbuvpT
77
243
option DI_DEFAULT_DISP_SIZE H
246
set _lib_bindtextdomain 0
249
set _lib_textdomain 0
252
set _command_msgfmt 0
253
set _command_gmsgfmt 0
256
if hasnls _clib_bindtextdomain && _clib_gettext && _clib_setlocale && \
257
_clib_textdomain && _hdr_libintl && _hdr_locale && \
258
( _command_msgfmt || _command_gmsgfmt )
261
set _clib_bindtextdomain 0
263
set _clib_setlocale 0
264
set _clib_textdomain 0
267
set _command_msgfmt 0
268
set _command_gmsgfmt 0
272
if stdquotas _hdr_linux_quota || _hdr_ufs_quota || _hdr_ufs_ufs_quota || \
273
_sys_fs_ufs_quota || _sys_quota || _clib_quotactl
274
setint _has_std_quotas 1
276
setint _has_std_quotas 0
279
if stdnfsquotas _hdr_rpc_rpc && _hdr_rpcsvc_rquota && _clib_xdr_int && \
280
_cmemberxdr_rquota_rq_bhardlimit && _cmemberxdr_getquota_args_gqa_uid
281
setint _has_std_nfs_quotas 1
283
setint _has_std_nfs_quotas 0
81
import core.stdc.stdio;
288
static if (_ctype_uid_t > 0) {
289
alias C_TYP_uid_t Uid_t;
293
static if (_ctype_gid_t > 0) {
294
alias C_TYP_gid_t Gid_t;
299
enum string DI_PROG = "di";
300
enum string DI_PREFIX = "/home/bll/DI/di/C/test_di";
301
// needed for getmntent()
302
import core.stdc.stdio; // for FILE