aboutsummaryrefslogtreecommitdiffstats
path: root/common/recsel.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-06-30 18:25:46 +0000
committerWerner Koch <[email protected]>2016-07-01 14:27:43 +0000
commit681c6ef757a73fc1a63a552186e038db179494aa (patch)
treebc84df736ea822bac00b874376bbd9f49d297641 /common/recsel.h
parentcommon: Smart up register_mem_cleanup_func. (diff)
downloadgnupg-681c6ef757a73fc1a63a552186e038db179494aa.tar.gz
gnupg-681c6ef757a73fc1a63a552186e038db179494aa.zip
common: Add function to select records etc.
* common/recsel.c, common/recsel.h: New. * common/t-recsel.c: New. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r--common/recsel.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/common/recsel.h b/common/recsel.h
new file mode 100644
index 000000000..be67afcbe
--- /dev/null
+++ b/common/recsel.h
@@ -0,0 +1,43 @@
+/* recsel.c - Record selection
+ * Copyright (C) 2016 Werner Koch
+ *
+ * This file is part of GnuPG.
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of either
+ *
+ * - the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * or
+ *
+ * - the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * or both in parallel, as here.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef GNUPG_COMMON_RECSEL_H
+#define GNUPG_COMMON_RECSEL_H
+
+struct recsel_expr_s;
+typedef struct recsel_expr_s *recsel_expr_t;
+
+gpg_error_t recsel_parse_expr (recsel_expr_t *selector, const char *expr);
+void recsel_release (recsel_expr_t a);
+void recsel_dump (recsel_expr_t selector);
+int recsel_select (recsel_expr_t selector,
+ const char *(*getval)(void *cookie, const char *propname),
+ void *cookie);
+
+
+#endif /*GNUPG_COMMON_RECSEL_H*/