Index: ossp-pkg/rc/rc_cliopt.c
RCS File: /v/ossp/cvs/ossp-pkg/rc/rc_cliopt.c,v
co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/rc/rc_cliopt.c,v' | diff -u /dev/null - -L'ossp-pkg/rc/rc_cliopt.c' 2>/dev/null
--- ossp-pkg/rc/rc_cliopt.c
+++ - 2025-05-20 13:30:16.718481681 +0200
@@ -0,0 +1,84 @@
+/* OSSP rc - Run-command processor
+** Copyright (c) 2002 Ralf S. Engelschall
+** Copyright (c) 2002 Cable & Wireless Deutschland GmbH
+** Copyright (c) 2002 The OSSP Project
+**
+** This file is part of OSSP rc, a portable Run-command processor
+** which can be found at http://www.ossp.org/pkg/lib/rc/
+**
+** Permission to use, copy, modify, and distribute this software for
+** any purpose with or without fee is hereby granted, provided that
+** the above copyright notice and this permission notice appear in all
+** copies.
+**
+** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+** SUCH DAMAGE.
+**
+** rc_cliopt.c: Run-command processor ISO C source file
+*/
+
+#include
+#include
+
+#include "rc.h"
+#include "rc_cliopt.h"
+
+static rc_cliopt_t *s_pInst = NULL; /* Singleton cliopt instance */
+
+
+/***************************************
+* clioptConstruct(void) *
+* Construct a command line option *
+***************************************/
+rc_return_t clioptConstruct(void)
+{
+ assert(s_pInst == NULL);
+ s_pInst = malloc(sizeof(s_pInst)); /* Allocate a cliopt instance */
+ if (!s_pInst)
+ return(RC_THROW(RC_ERR_MEM));
+
+ return(RC_THROW(RC_OK));
+}
+
+/***************************************
+* clioptGetXXXX(void) *
+* Command line option accessors *
+***************************************/
+short clioptGetvers(void)
+{
+ ex_t Except;
+ short nVer = 0;
+
+ assert(s_pInst);
+ ex_try {
+
+ }
+ ex_catch(Except) {
+ rethrow;
+ }
+
+ return(nVer);
+}
+
+/***************************************
+* clioptDestruct(void) *
+* Destruct a command line option *
+***************************************/
+rc_return_t clioptDestruct(void)
+{
+ assert(s_pInst);
+ free(s_pInst); /* Deallocate cliopt and */
+ s_pInst = NULL; /* clear its reference */
+
+ return(RC_THROW(RC_OK));
+}
Index: ossp-pkg/rc/rc_cliopt.h
RCS File: /v/ossp/cvs/ossp-pkg/rc/Attic/rc_cliopt.h,v
co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/rc/Attic/rc_cliopt.h,v' | diff -u /dev/null - -L'ossp-pkg/rc/rc_cliopt.h' 2>/dev/null
--- ossp-pkg/rc/rc_cliopt.h
+++ - 2025-05-20 13:30:16.721559028 +0200
@@ -0,0 +1,40 @@
+/* OSSP rc - Run-command processor
+** Copyright (c) 2002 Ralf S. Engelschall
+** Copyright (c) 2002 Cable & Wireless Deutschland GmbH
+** Copyright (c) 2002 The OSSP Project
+**
+** This file is part of OSSP rc, a portable Run-command processor
+** which can be found at http://www.ossp.org/pkg/lib/rc/
+**
+** Permission to use, copy, modify, and distribute this software for
+** any purpose with or without fee is hereby granted, provided that
+** the above copyright notice and this permission notice appear in all
+** copies.
+**
+** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+** SUCH DAMAGE.
+**
+** rc_cliopt.h: Run-command processor ISO C public API header file
+*/
+
+#ifndef __OSSPRC_CLIOPT_H__
+#define __OSSPRC_CLIOPT_H__
+
+#include "rc_private.h"
+#include "rc_opt.h"
+
+typedef struct { /* Command line option storage */
+ rc_list_t *pOptlist; /* To aggregate options */
+} rc_cliopt_t;
+
+#endif /* __OSSPRC_CLIOPT_H__ */
Index: ossp-pkg/rc/rc_config.h
RCS File: /v/ossp/cvs/ossp-pkg/rc/rc_config.h,v
co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/rc/rc_config.h,v' | diff -u /dev/null - -L'ossp-pkg/rc/rc_config.h' 2>/dev/null
--- ossp-pkg/rc/rc_config.h
+++ - 2025-05-20 13:30:16.724165088 +0200
@@ -0,0 +1,40 @@
+/* OSSP rc - Run-command processor
+** Copyright (c) 2002 Ralf S. Engelschall
+** Copyright (c) 2002 Cable & Wireless Deutschland GmbH
+** Copyright (c) 2002 The OSSP Project
+**
+** This file is part of OSSP rc, a portable Run-command processor
+** which can be found at http://www.ossp.org/pkg/lib/rc/
+**
+** Permission to use, copy, modify, and distribute this software for
+** any purpose with or without fee is hereby granted, provided that
+** the above copyright notice and this permission notice appear in all
+** copies.
+**
+** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+** SUCH DAMAGE.
+**
+** rc_config.h: Run-command processor ISO C public API header file
+*/
+
+#ifndef __OSSPRC_CONFIG_H__
+#define __OSSPRC_CONFIG_H__
+
+#include "rc_cliopt.h" /* Command line option */
+
+typedef struct { /* Main rc configuration storage */
+ rc_cliopt_t *pCliopt; /* Aggregate command line option */
+ int m_nLocks; /* Server locks, not thread-safe FIXME */
+} rc_config_t;
+
+#endif /* __OSSPRC_CONFIG_H__ */
Index: ossp-pkg/rc/rc_opt.c
RCS File: /v/ossp/cvs/ossp-pkg/rc/rc_opt.c,v
co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/rc/rc_opt.c,v' | diff -u /dev/null - -L'ossp-pkg/rc/rc_opt.c' 2>/dev/null
--- ossp-pkg/rc/rc_opt.c
+++ - 2025-05-20 13:30:16.726811865 +0200
@@ -0,0 +1,113 @@
+/* OSSP rc - Run-command processor
+** Copyright (c) 2002 Ralf S. Engelschall
+** Copyright (c) 2002 Cable & Wireless Deutschland GmbH
+** Copyright (c) 2002 The OSSP Project
+**
+** This file is part of OSSP rc, a portable Run-command processor
+** which can be found at http://www.ossp.org/pkg/lib/rc/
+**
+** Permission to use, copy, modify, and distribute this software for
+** any purpose with or without fee is hereby granted, provided that
+** the above copyright notice and this permission notice appear in all
+** copies.
+**
+** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+** SUCH DAMAGE.
+**
+** rc_opt.c: Run-command processor ISO C source file
+*/
+
+#include
+#include
+
+#include "rc.h"
+#include "rc_opt.h"
+
+
+/***************************************
+* optConstruct(void) *
+* Construct an option *
+***************************************/
+rc_return_t clioptConstruct(void)
+{
+ ex_t Except;
+
+ if (s_pInst == NULL) { /* If we don't have one */
+ s_pInst = malloc(sizeof(s_pInst)); /* yet, then allocate */
+ if (!s_pInst) /* a cliopt instance */
+ return(RC_THROW(RC_ERR_MEM));
+ s_pInst->nLocks = 0;
+
+ ex_try {
+ /* Make a cliopt instance */
+ }
+ ex_catch(Except) {
+ rethrow;
+ }
+ }
+ s_pInst->nLocks++; /* FIXME not threadsafe */
+
+ return(RC_THROW(RC_OK));
+}
+
+/***************************************
+* clioptGetXXXX(void) *
+* Command line option accessors *
+***************************************/
+short clioptGetvers(void)
+{
+ ex_t Except;
+ short nVer = 0;
+
+ if (s_pInst != NULL) {
+ ex_try {
+
+ }
+ ex_catch(Except) {
+ rethrow;
+ }
+ }
+ else {
+ RC_THROW(RC_ERR_USE);
+ return(NULL);
+ }
+
+ return(nVer);
+}
+
+/***************************************
+* clioptDestruct(void) *
+* Destruct a command line option *
+***************************************/
+rc_return_t clioptDestruct(void)
+{
+ ex_t Except;
+
+ if (s_pInst) {
+ if (!(--s_pInst->nLocks)) { /* If nLocks is 0, dealloc */
+ ex_try { /* FIXME, not thread-safe */
+
+ }
+ ex_catch(Except) {
+ rethrow;
+ }
+
+ free(s_pInst); /* Deallocate cliopt and */
+ s_pInst = NULL; /* clear its reference */
+ }
+ }
+ else
+ return(RC_THROW(RC_ERR_USE));
+
+ return(RC_THROW(RC_OK));
+}
Index: ossp-pkg/rc/rc_opt.h
RCS File: /v/ossp/cvs/ossp-pkg/rc/Attic/rc_opt.h,v
co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/rc/Attic/rc_opt.h,v' | diff -u /dev/null - -L'ossp-pkg/rc/rc_opt.h' 2>/dev/null
--- ossp-pkg/rc/rc_opt.h
+++ - 2025-05-20 13:30:16.729499376 +0200
@@ -0,0 +1,38 @@
+/* OSSP rc - Run-command processor
+** Copyright (c) 2002 Ralf S. Engelschall
+** Copyright (c) 2002 Cable & Wireless Deutschland GmbH
+** Copyright (c) 2002 The OSSP Project
+**
+** This file is part of OSSP rc, a portable Run-command processor
+** which can be found at http://www.ossp.org/pkg/lib/rc/
+**
+** Permission to use, copy, modify, and distribute this software for
+** any purpose with or without fee is hereby granted, provided that
+** the above copyright notice and this permission notice appear in all
+** copies.
+**
+** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+** SUCH DAMAGE.
+**
+** rc_opt.h: Run-command processor ISO C public API header file
+*/
+
+#ifndef __OSSPRC_OPT_H__
+#define __OSSPRC_OPT_H__
+
+typedef struct { /* For option storage */
+ char *szName;
+ char *szValue;
+} rc_opt_t;
+
+#endif /* __OSSPRC_OPT_H__ */