本文整理汇总了C++中command_usage函数的典型用法代码示例。如果您正苦于以下问题:C++ command_usage函数的具体用法?C++ command_usage怎么用?C++ command_usage使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了command_usage函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: aio_write_f
static int aio_write_f(int argc, char **argv)
{
int nr_iov, c;
int pattern = 0xcd;
struct aio_ctx *ctx = g_new0(struct aio_ctx, 1);
while ((c = getopt(argc, argv, "CqP:")) != EOF) {
switch (c) {
case 'C':
ctx->Cflag = 1;
break;
case 'q':
ctx->qflag = 1;
break;
case 'P':
pattern = parse_pattern(optarg);
if (pattern < 0) {
g_free(ctx);
return 0;
}
break;
default:
g_free(ctx);
return command_usage(&aio_write_cmd);
}
}
if (optind > argc - 2) {
g_free(ctx);
return command_usage(&aio_write_cmd);
}
ctx->offset = cvtnum(argv[optind]);
if (ctx->offset < 0) {
printf("non-numeric length argument -- %s\n", argv[optind]);
g_free(ctx);
return 0;
}
optind++;
if (ctx->offset & 0x1ff) {
printf("offset %" PRId64 " is not sector aligned\n",
ctx->offset);
g_free(ctx);
return 0;
}
nr_iov = argc - optind;
ctx->buf = create_iovec(&ctx->qiov, &argv[optind], nr_iov, pattern);
if (ctx->buf == NULL) {
g_free(ctx);
return 0;
}
gettimeofday(&ctx->t1, NULL);
bdrv_aio_writev(bs, ctx->offset >> 9, &ctx->qiov,
ctx->qiov.size >> 9, aio_write_done, ctx);
return 0;
}
开发者ID:AjayMashi,项目名称:x-tier,代码行数:59,代码来源:qemu-io.c
示例2: msync_f
int
msync_f(
int argc,
char **argv)
{
off64_t offset;
ssize_t length;
void *start;
int c, flags = 0;
size_t blocksize, sectsize;
while ((c = getopt(argc, argv, "ais")) != EOF) {
switch (c) {
case 'a':
flags |= MS_ASYNC;
break;
case 'i':
flags |= MS_INVALIDATE;
break;
case 's':
flags |= MS_SYNC;
break;
default:
return command_usage(&msync_cmd);
}
}
if (optind == argc) {
offset = mapping->offset;
length = mapping->length;
} else if (optind == argc - 2) {
init_cvtnum(&blocksize, §size);
offset = cvtnum(blocksize, sectsize, argv[optind]);
if (offset < 0) {
printf(_("non-numeric offset argument -- %s\n"),
argv[optind]);
return 0;
}
optind++;
length = cvtnum(blocksize, sectsize, argv[optind]);
if (length < 0) {
printf(_("non-numeric length argument -- %s\n"),
argv[optind]);
return 0;
}
} else {
return command_usage(&msync_cmd);
}
start = check_mapping_range(mapping, offset, length, 1);
if (!start)
return 0;
if (msync(start, length, flags) < 0)
perror("msync");
return 0;
}
开发者ID:tytso,项目名称:xfsprogs,代码行数:58,代码来源:mmap.c
示例3: load_all
static int load_all(vici_conn_t *conn)
{
bool clear = FALSE, noprompt = FALSE;
command_format_options_t format = COMMAND_FORMAT_NONE;
settings_t *cfg;
int ret = 0;
char *arg;
while (TRUE)
{
switch (command_getopt(&arg))
{
case 'h':
return command_usage(NULL);
case 'c':
clear = TRUE;
continue;
case 'n':
noprompt = TRUE;
continue;
case 'P':
format |= COMMAND_FORMAT_PRETTY;
/* fall through to raw */
case 'r':
format |= COMMAND_FORMAT_RAW;
continue;
case EOF:
break;
default:
return command_usage("invalid --load-all option");
}
break;
}
cfg = settings_create(SWANCTL_CONF);
if (!cfg)
{
fprintf(stderr, "parsing '%s' failed\n", SWANCTL_CONF);
return EINVAL;
}
if (ret == 0)
{
ret = load_creds_cfg(conn, format, cfg, clear, noprompt);
}
if (ret == 0)
{
ret = load_pools_cfg(conn, format, cfg);
}
if (ret == 0)
{
ret = load_conns_cfg(conn, format, cfg);
}
cfg->destroy(cfg);
return ret;
}
开发者ID:SamuelStrong,项目名称:strongswan,代码行数:58,代码来源:load_all.c
示例4: discard_f
static int discard_f(int argc, char **argv)
{
struct timeval t1, t2;
int Cflag = 0, qflag = 0;
int c, ret;
int64_t offset;
int count;
while ((c = getopt(argc, argv, "Cq")) != EOF) {
switch (c) {
case 'C':
Cflag = 1;
break;
case 'q':
qflag = 1;
break;
default:
return command_usage(&discard_cmd);
}
}
if (optind != argc - 2) {
return command_usage(&discard_cmd);
}
offset = cvtnum(argv[optind]);
if (offset < 0) {
printf("non-numeric length argument -- %s\n", argv[optind]);
return 0;
}
optind++;
count = cvtnum(argv[optind]);
if (count < 0) {
printf("non-numeric length argument -- %s\n", argv[optind]);
return 0;
}
gettimeofday(&t1, NULL);
ret = bdrv_discard(bs, offset >> BDRV_SECTOR_BITS,
count >> BDRV_SECTOR_BITS);
gettimeofday(&t2, NULL);
if (ret < 0) {
printf("discard failed: %s\n", strerror(-ret));
goto out;
}
/* Finally, report back -- -C gives a parsable format */
if (!qflag) {
t2 = tsub(t2, t1);
print_report("discard", &t2, offset, count, count, 1, Cflag);
}
out:
return 0;
}
开发者ID:AjayMashi,项目名称:x-tier,代码行数:57,代码来源:qemu-io.c
示例5: state_f
static int
state_f(
int argc,
char **argv)
{
FILE *fp = NULL;
char *fname = NULL;
int c, flags = 0, type = 0;
while ((c = getopt(argc, argv, "af:gpuv")) != EOF) {
switch (c) {
case 'a':
flags |= ALL_MOUNTS_FLAG;
break;
case 'f':
fname = optarg;
break;
case 'g':
type |= XFS_GROUP_QUOTA;
break;
case 'p':
type |= XFS_PROJ_QUOTA;
break;
case 'u':
type |= XFS_USER_QUOTA;
break;
case 'v':
flags |= VERBOSE_FLAG;
break;
default:
return command_usage(&state_cmd);
}
}
if (argc != optind)
return command_usage(&state_cmd);
if ((fp = fopen_write_secure(fname)) == NULL)
return 0;
if (!type)
type = XFS_USER_QUOTA | XFS_GROUP_QUOTA | XFS_PROJ_QUOTA;
if (flags & ALL_MOUNTS_FLAG)
state_quotafile(fp, type, NULL, flags);
else if (fs_path && fs_path->fs_flags & FS_MOUNT_POINT)
state_quotafile(fp, type, fs_path->fs_dir, flags);
if (fname)
fclose(fp);
return 0;
}
开发者ID:djwong,项目名称:xfsprogs,代码行数:52,代码来源:state.c
示例6: dump_f
static int
dump_f(
int argc,
char **argv)
{
FILE *fp;
char *fname = NULL;
uint lower = 0, upper = 0;
int c, type = XFS_USER_QUOTA;
while ((c = getopt(argc, argv, "f:gpuL:U:")) != EOF) {
switch(c) {
case 'f':
fname = optarg;
break;
case 'g':
type = XFS_GROUP_QUOTA;
break;
case 'p':
type = XFS_PROJ_QUOTA;
break;
case 'u':
type = XFS_USER_QUOTA;
break;
case 'L':
lower = (uint)atoi(optarg);
break;
case 'U':
upper = (uint)atoi(optarg);
break;
default:
return command_usage(&dump_cmd);
}
}
if (argc != optind)
return command_usage(&dump_cmd);
if ((fp = fopen_write_secure(fname)) == NULL)
return 0;
dump_limits_any_type(fp, type, fs_path->fs_dir, lower, upper);
if (fname)
fclose(fp);
return 0;
}
开发者ID:ystk,项目名称:debian-xfsprogs,代码行数:48,代码来源:report.c
示例7: command_report_error
void command_report_error(buffer_t* out, const command_t* cmd, int error)
{
int do_eol = 1;
if (NULL == out || NULL == cmd)
return;
switch (error)
{
case ENONE:
buf_append(out, "OK");
break;
case EIGNORE:
do_eol = 0;
break;
case ENOCMD:
buf_appendf(out, "ERR: No such command");
break;
case ENOSESSION:
buf_appendf(out, "ERR: Session not found");
break;
case EUSAGE:
command_usage(out, cmd);
do_eol = 0;
break;
default:
buf_appendf(out, "ERR: %s", strerror(error));
break;
}
if (do_eol)
buf_append_eol(out);
}
开发者ID:piotrm0,项目名称:first,代码行数:31,代码来源:command.c
示例8: S_set_verbose
static int
S_set_verbose(int argc, char * argv[])
{
uint32_t log_flags = 0;
int result;
if (strcasecmp(argv[0], "on") == 0) {
log_flags = -1;
}
else if (strcasecmp(argv[0], "off") == 0) {
log_flags = 0;
}
else {
command_usage();
}
if (EAPOLControlPrefsSetLogFlags(log_flags) == FALSE) {
fprintf(stderr, "Failed to set verbose %s\n",
log_flags != 0 ? "on" : "off");
result = 1;
}
else {
result = 0;
}
return (result);
}
开发者ID:gfleury,项目名称:eap8021x-debug,代码行数:25,代码来源:client.c
示例9: list_pools
static int list_pools(vici_conn_t *conn)
{
vici_req_t *req;
vici_res_t *res;
bool raw = FALSE;
char *arg;
int ret = 0;
while (TRUE)
{
switch (command_getopt(&arg))
{
case 'h':
return command_usage(NULL);
case 'r':
raw = TRUE;
continue;
case EOF:
break;
default:
return command_usage("invalid --list-pools option");
}
break;
}
req = vici_begin("get-pools");
res = vici_submit(req, conn);
if (!res)
{
fprintf(stderr, "get-pools request failed: %s\n", strerror(errno));
return errno;
}
if (raw)
{
vici_dump(res, "get-pools reply", stdout);
}
else
{
ret = vici_parse_cb(res, list_pool, NULL, NULL, NULL);
}
vici_free_res(res);
return ret;
}
开发者ID:BrendanLaneLarson,项目名称:strongswan,代码行数:43,代码来源:list_pools.c
示例10: load_authorities
static int load_authorities(vici_conn_t *conn)
{
command_format_options_t format = COMMAND_FORMAT_NONE;
settings_t *cfg;
char *arg, *file = NULL;
int ret;
while (TRUE)
{
switch (command_getopt(&arg))
{
case 'h':
return command_usage(NULL);
case 'P':
format |= COMMAND_FORMAT_PRETTY;
/* fall through to raw */
case 'r':
format |= COMMAND_FORMAT_RAW;
continue;
case 'f':
file = arg;
continue;
case EOF:
break;
default:
return command_usage("invalid --load-authorities option");
}
break;
}
cfg = load_swanctl_conf(file);
if (!cfg)
{
return EINVAL;
}
ret = load_authorities_cfg(conn, format, cfg);
cfg->destroy(cfg);
return ret;
}
开发者ID:strongswan,项目名称:strongswan,代码行数:42,代码来源:load_authorities.c
示例11: off_f
static int
off_f(
int argc,
char **argv)
{
int c, flags = 0, qflags = 0, type = 0;
while ((c = getopt(argc, argv, "gpuv")) != EOF) {
switch (c) {
case 'g':
type |= XFS_GROUP_QUOTA;
qflags |= XFS_QUOTA_GDQ_ACCT | XFS_QUOTA_GDQ_ENFD;
break;
case 'p':
type |= XFS_PROJ_QUOTA;
qflags |= XFS_QUOTA_PDQ_ACCT | XFS_QUOTA_PDQ_ENFD;
break;
case 'u':
type |= XFS_USER_QUOTA;
qflags |= XFS_QUOTA_UDQ_ACCT | XFS_QUOTA_UDQ_ENFD;
break;
case 'v':
flags |= VERBOSE_FLAG;
break;
default:
return command_usage(&off_cmd);
}
}
if (argc != optind)
return command_usage(&off_cmd);
if (!type) {
type |= XFS_USER_QUOTA;
qflags |= XFS_QUOTA_UDQ_ACCT | XFS_QUOTA_UDQ_ENFD;
}
if (fs_path->fs_flags & FS_MOUNT_POINT)
quotaoff(fs_path->fs_dir, type, qflags, flags);
return 0;
}
开发者ID:djwong,项目名称:xfsprogs,代码行数:41,代码来源:state.c
示例12: open_f
static int
open_f(int argc, char **argv)
{
int flags = 0;
int readonly = 0;
int growable = 0;
int c;
while ((c = getopt(argc, argv, "snCrg")) != EOF) {
switch (c) {
case 's':
flags |= BDRV_O_SNAPSHOT;
break;
case 'n':
flags |= BDRV_O_NOCACHE;
break;
case 'C':
flags |= BDRV_O_CREAT;
break;
case 'r':
readonly = 1;
break;
case 'g':
growable = 1;
break;
default:
return command_usage(&open_cmd);
}
}
if (readonly)
flags |= BDRV_O_RDONLY;
else
flags |= BDRV_O_RDWR;
if (optind != argc - 1)
return command_usage(&open_cmd);
return openfile(argv[optind], flags, growable);
}
开发者ID:bulotus,项目名称:bulotus-qemu-at91sam9263ek,代码行数:40,代码来源:qemu-io.c
示例13: load_authorities
static int load_authorities(vici_conn_t *conn)
{
command_format_options_t format = COMMAND_FORMAT_NONE;
settings_t *cfg;
char *arg;
int ret;
while (TRUE)
{
switch (command_getopt(&arg))
{
case 'h':
return command_usage(NULL);
case 'P':
format |= COMMAND_FORMAT_PRETTY;
/* fall through to raw */
case 'r':
format |= COMMAND_FORMAT_RAW;
continue;
case EOF:
break;
default:
return command_usage("invalid --load-authorities option");
}
break;
}
cfg = settings_create(SWANCTL_CONF);
if (!cfg)
{
fprintf(stderr, "parsing '%s' failed\n", SWANCTL_CONF);
return EINVAL;
}
ret = load_authorities_cfg(conn, format, cfg);
cfg->destroy(cfg);
return ret;
}
开发者ID:FancyFon,项目名称:strongswan,代码行数:40,代码来源:load_authorities.c
示例14: chproj_f
static int
chproj_f(
int argc,
char **argv)
{
int c;
recurse_all = recurse_dir = 0;
while ((c = getopt(argc, argv, "DR")) != EOF) {
switch (c) {
case 'D':
recurse_all = 0;
recurse_dir = 1;
break;
case 'R':
recurse_all = 1;
recurse_dir = 0;
break;
default:
return command_usage(&chproj_cmd);
}
}
if (argc != optind + 1)
return command_usage(&chproj_cmd);
prid = prid_from_string(argv[optind]);
if (prid == -1) {
printf(_("invalid project ID -- %s\n"), argv[optind]);
return 0;
}
if (recurse_all || recurse_dir)
nftw(file->name, chproj_callback,
100, FTW_PHYS | FTW_MOUNT | FTW_DEPTH);
else if (setprojid(file->name, file->fd, prid) < 0)
perror("setprojid");
return 0;
}
开发者ID:chandanr,项目名称:xfsprogs-dev,代码行数:39,代码来源:open.c
示例15: parent_f
int
parent_f(int argc, char **argv)
{
int c;
int listpath_flag = 0;
int check_flag = 0;
fs_path_t *fs;
static int tab_init;
if (!tab_init) {
tab_init = 1;
fs_table_initialise(0, NULL, 0, NULL);
}
fs = fs_table_lookup(file->name, FS_MOUNT_POINT);
if (!fs) {
fprintf(stderr, _("file argument, \"%s\", is not in a mounted XFS filesystem\n"),
file->name);
return 1;
}
mntpt = fs->fs_dir;
verbose_flag = 0;
while ((c = getopt(argc, argv, "cpv")) != EOF) {
switch (c) {
case 'c':
check_flag = 1;
break;
case 'p':
listpath_flag = 1;
break;
case 'v':
verbose_flag++;
break;
default:
return command_usage(&parent_cmd);
}
}
if (!check_flag && !listpath_flag) /* default case */
exitcode = parent_list(listpath_flag);
else {
if (listpath_flag)
exitcode = parent_list(listpath_flag);
if (check_flag)
exitcode = parent_check();
}
return 0;
}
开发者ID:Claruarius,项目名称:stblinux-2.6.37,代码行数:50,代码来源:parent.c
示例16: remove_f
static int
remove_f(
int argc,
char **argv)
{
int c, flags = 0, type = 0;
while ((c = getopt(argc, argv, "gpuv")) != EOF) {
switch (c) {
case 'g':
type |= XFS_GROUP_QUOTA;
break;
case 'p':
type |= XFS_PROJ_QUOTA;
break;
case 'u':
type |= XFS_USER_QUOTA;
break;
case 'v':
flags |= VERBOSE_FLAG;
break;
default:
return command_usage(&remove_cmd);
}
}
if (argc != optind)
return command_usage(&remove_cmd);
if (!type) {
type |= XFS_USER_QUOTA;
}
if (fs_path->fs_flags & FS_MOUNT_POINT)
remove_extents(fs_path->fs_dir, type, flags);
return 0;
}
开发者ID:djwong,项目名称:xfsprogs,代码行数:37,代码来源:state.c
示例17: logcmd
static int logcmd(vici_conn_t *conn)
{
command_format_options_t format = COMMAND_FORMAT_NONE;
char *arg;
while (TRUE)
{
switch (command_getopt(&arg))
{
case 'h':
return command_usage(NULL);
case 'P':
format |= COMMAND_FORMAT_PRETTY;
/* fall through to raw */
case 'r':
format |= COMMAND_FORMAT_RAW;
continue;
case EOF:
break;
default:
return command_usage("invalid --log option");
}
break;
}
if (vici_register(conn, "log", log_cb, &format) != 0)
{
fprintf(stderr, "registering for log failed: %s\n", strerror(errno));
return errno;
}
wait_sigint();
fprintf(stderr, "disconnecting...\n");
return 0;
}
开发者ID:21superman,项目名称:strongswan,代码行数:37,代码来源:log.c
示例18: lsproj_f
static int
lsproj_f(
int argc,
char **argv)
{
prid_t projid;
int c;
recurse_all = recurse_dir = 0;
while ((c = getopt(argc, argv, "DR")) != EOF) {
switch (c) {
case 'D':
recurse_all = 0;
recurse_dir = 1;
break;
case 'R':
recurse_all = 1;
recurse_dir = 0;
break;
default:
return command_usage(&lsproj_cmd);
}
}
if (argc != optind)
return command_usage(&lsproj_cmd);
if (recurse_all || recurse_dir)
nftw(file->name, lsproj_callback,
100, FTW_PHYS | FTW_MOUNT | FTW_DEPTH);
else if (getprojid(file->name, file->fd, &projid) < 0)
perror("getprojid");
else
printf(_("projid = %u\n"), (unsigned int)projid);
return 0;
}
开发者ID:chandanr,项目名称:xfsprogs-dev,代码行数:36,代码来源:open.c
示例19: lsattr_f
static int
lsattr_f(
int argc,
char **argv)
{
struct fsxattr fsx;
char *name = file->name;
int c, aflag = 0, vflag = 0;
recurse_all = recurse_dir = 0;
while ((c = getopt(argc, argv, "DRav")) != EOF) {
switch (c) {
case 'D':
recurse_all = 0;
recurse_dir = 1;
break;
case 'R':
recurse_all = 1;
recurse_dir = 0;
break;
case 'a':
aflag = 1;
vflag = 0;
break;
case 'v':
aflag = 0;
vflag = 1;
break;
default:
return command_usage(&lsattr_cmd);
}
}
if (recurse_all || recurse_dir) {
nftw(name, lsattr_callback,
100, FTW_PHYS | FTW_MOUNT | FTW_DEPTH);
} else if ((xfsctl(name, file->fd, XFS_IOC_FSGETXATTR, &fsx)) < 0) {
fprintf(stderr, _("%s: cannot get flags on %s: %s\n"),
progname, name, strerror(errno));
} else {
printxattr(fsx.fsx_xflags, vflag, !aflag, name, vflag, !aflag);
if (aflag) {
fputs("/", stdout);
printxattr(-1, 0, 1, name, 0, 1);
}
}
return 0;
}
开发者ID:brkt,项目名称:fuse-xfs,代码行数:48,代码来源:attr.c
示例20: extsize_f
static int
extsize_f(
int argc,
char **argv)
{
size_t blocksize, sectsize;
int c;
recurse_all = recurse_dir = 0;
init_cvtnum(&blocksize, §size);
while ((c = getopt(argc, argv, "DR")) != EOF) {
switch (c) {
case 'D':
recurse_all = 0;
recurse_dir = 1;
break;
case 'R':
recurse_all = 1;
recurse_dir = 0;
break;
default:
return command_usage(&extsize_cmd);
}
}
if (optind < argc) {
extsize = (long)cvtnum(blocksize, sectsize, argv[optind]);
if (extsize < 0) {
printf(_("non-numeric extsize argument -- %s\n"),
argv[optind]);
return 0;
}
} else {
extsize = -1;
}
if (recurse_all || recurse_dir)
nftw(file->name, (extsize >= 0) ?
set_extsize_callback : get_extsize_callback,
100, FTW_PHYS | FTW_MOUNT | FTW_DEPTH);
else if (extsize >= 0)
set_extsize(file->name, file->fd, extsize);
else
get_extsize(file->name, file->fd);
return 0;
}
开发者ID:chandanr,项目名称:xfsprogs-dev,代码行数:46,代码来源:open.c
注:本文中的command_usage函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论