CAPS Universe documentation  1.0.4
All you need to know to be successful
libcapscmdparser.h
Go to the documentation of this file.
1#pragma once
2/*
3 * SPDX-License-Identifier: LGPL-2.1-or-later
4 *
5 * (c) 2022 Jürgen Borleis <projects@caps-printing.org>
6 *
7 * This program is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU Lesser General Public License 2.1 as published by the Free
9 * Software Foundation.
10 */
11
12#include <stddef.h>
13#include <stdio.h>
14#include <features.h>
15
16#include "libcapsbase.h"
17
18__BEGIN_DECLS
19
276};
277
278struct caps_arg_parser;
279
327 const char *keyword;
328 int key;
329 int (*cb)(const struct caps_arg_parser *parser, const char *value);
330 const char *arg;
331 const char *doc;
332};
333
351 void *object;
352 const char *header;
353 const char *footer;
354 const char *domain;
355};
356
364 size_t cnt;
365 const struct caps_arg_parser *list;
366 const char *version;
368 const char *bugreport;
370 const char *progname;
371 const char *feature;
372 const char *domain;
374 FILE *errorout;
376 FILE *out;
378};
379
403int caps_arg_parser_process(const struct caps_arg_parser_list *plist, int argc, char *argv[argc]) __nonnull((1));
419int caps_arg_parser_help(const struct caps_arg_parser_list *plist) __nonnull();
420
424__END_DECLS
static const struct caps_arg_parser parser
Definition: capsinfo.c:139
#define __nonnull(params)
Definition: libcapsbase.h:84
int caps_arg_parser_help(const struct caps_arg_parser_list *plist)
Definition: libcapscmdparser.c:205
caps_arg_parameter_flag
Definition: libcapscmdparser.h:271
int caps_arg_parser_process(const struct caps_arg_parser_list *plist, int argc, char *argv[argc])
Definition: libcapscmdparser.c:561
@ CAPS_PARAM_OPTIONAL
Definition: libcapscmdparser.h:273
@ CAPS_PARAM_UNKNOWN
Definition: libcapscmdparser.h:272
@ CAPS_VALUE_OPTIONAL
Definition: libcapscmdparser.h:274
Basic API for everything else of the CAPS universe.
Definition: libcapscmdparser.h:325
int key
Definition: libcapscmdparser.h:328
const char * keyword
Definition: libcapscmdparser.h:327
const char * doc
Definition: libcapscmdparser.h:331
enum caps_arg_parameter_flag flags
Definition: libcapscmdparser.h:326
const char * arg
Definition: libcapscmdparser.h:330
int(* cb)(const struct caps_arg_parser *parser, const char *value)
Definition: libcapscmdparser.h:329
Definition: libcapscmdparser.h:363
FILE * out
Definition: libcapscmdparser.h:376
const char * bugreport
Definition: libcapscmdparser.h:368
const char * domain
Definition: libcapscmdparser.h:372
FILE * errorout
Definition: libcapscmdparser.h:374
const char * version
Definition: libcapscmdparser.h:366
const char * progname
Definition: libcapscmdparser.h:370
size_t cnt
Definition: libcapscmdparser.h:364
const char * feature
Definition: libcapscmdparser.h:371
const struct caps_arg_parser * list
Definition: libcapscmdparser.h:365
Definition: libcapscmdparser.h:348
void * object
Definition: libcapscmdparser.h:351
size_t parameter_cnt
Definition: libcapscmdparser.h:349
const struct caps_arg_parameter * parameter_list
Definition: libcapscmdparser.h:350
const char * domain
Definition: libcapscmdparser.h:354
const char * header
Definition: libcapscmdparser.h:352
const char * footer
Definition: libcapscmdparser.h:353