]> rtime.felk.cvut.cz Git - frescor/frsh.git/commitdiff
forb: executable resources and fcb changed into dynamic libs
authorPetr Benes <benesp16@fel.cvut.cz>
Sun, 20 Feb 2011 12:15:21 +0000 (13:15 +0100)
committerPetr Benes <benesp16@fel.cvut.cz>
Sun, 20 Feb 2011 12:15:21 +0000 (13:15 +0100)
16 files changed:
fres/cbroker/Makefile.omk
fres/cbroker/fcb.c
resources/cluster_tree/Makefile.omk
resources/cluster_tree/frm_cluster_tree.c
resources/cpu_aquosa/mngr/Makefile.omk
resources/cpu_aquosa/mngr/frm_aqcpu.c
resources/cpucg/mngr/Makefile.omk
resources/cpucg/mngr/frm_cgcpu.c
resources/disk_bfq/mngr/Makefile.omk
resources/disk_bfq/mngr/diskbfq_mngr.c
resources/dummy/Makefile.omk
resources/dummy/frm_dummy.c
resources/fpga/Makefile.omk
resources/fpga/frm_fpga.c
resources/item/Makefile.omk
resources/item/frm_item.c

index dc2166fbe62e1e4c82aba509f43e4b4789826b94..efcd8aab1d611f1169a878c29b2abe076ec53786 100644 (file)
@@ -1,4 +1,4 @@
-bin_PROGRAMS += fcb
+shared_LIBRARIES += fcb
 
 CFLAGS += --std=gnu99 #--save-temps
 
index 64180f0ab0557aa5a7d3c3192b259d52eb4352c2..f931d2eb4573fe4aa0eec574baf91772f455ed1d 100644 (file)
@@ -1469,7 +1469,6 @@ void peer_dead_callback(const forb_orb peer_orb, const char *orb_id)
 }
 
 static struct option long_opts[] = {
-    { "daemon",   optional_argument, NULL, 'd' },
     { "loglevel", required_argument, NULL, 'l' },
     { 0, 0, 0, 0}
 };
@@ -1478,7 +1477,6 @@ static void
 usage(void)
 {
        printf("usage: fcb [ options ]\n");
-       printf("  -d, --daemon [pid-file]   go to background after FORB initialization\n");
        printf("  -l, --loglevel <number>|<domain>=<number>,...\n");
 }
 
@@ -1488,9 +1486,8 @@ int print_log_domain(ul_log_domain_t *domain, void *context)
        return 0;
 }
 
-int main(int argc, char *argv[])
+int forb_main(forb_orb orb, int argc, char *argv[])
 {
-       forb_orb orb;
        struct fcb fcb_data;
        fres_contract_broker fcb;
        forb_executor_t executor;
@@ -1507,7 +1504,7 @@ int main(int argc, char *argv[])
        };
        int  opt;
 
-       while ((opt = getopt_long(argc, argv, "d::hl:", &long_opts[0], NULL)) != EOF) {
+       while ((opt = getopt_long(argc, argv, "hl:", &long_opts[0], NULL)) != EOF) {
                switch (opt) {
                        case 'l':
                                if (*optarg == '?') {
@@ -1521,10 +1518,6 @@ int main(int argc, char *argv[])
                                                error(1, EINVAL, "Error parsing -l argument at char %d\n", ret);
                                }
                                break;
-                       case 'd':
-                               opt_daemon = true;
-                               opt_pidfile = optarg;
-                               break;
                        case 'h':
                        /*default:*/
                                usage();
@@ -1538,9 +1531,6 @@ int main(int argc, char *argv[])
        if (opt_daemon)
                forb_daemon_prepare(opt_pidfile);
 
-       orb = forb_init(&argc, &argv, &attr);
-       if (!orb) error(1, errno, "FORB initialization failed");
-
 #if CONFIG_FCB_INET && !CONFIG_FORB_PROTO_INET_DEFAULT
        ret = register_inet_port(orb);
        if (ret) error(0, errno, "INET port registration failed");
index b07fd6c335d1fb64b35f12a875a5c91cc44e3da7..2d3a5765aaa72e75221b3b53fb90d48b303dff48 100644 (file)
@@ -3,7 +3,7 @@ default_CONFIG = CONFIG_RESOURCE_CLUSTER_TREE=y
 ifeq ($(CONFIG_RESOURCE_CLUSTER_TREE),y)
 CFLAGS += -std=gnu99 -DFRESCOR
 
-bin_PROGRAMS = frm_cluster_tree
+shared_LIBRARIES = frm_cluster_tree
 frm_cluster_tree_SOURCES = frm_cluster_tree.c ct_wsn.c cluster_tree_blocks.c
 #frm_cluster_tree.c cluster_tree_block.c
 frm_cluster_tree_CLIENT_IDL = cluster_tree_idl.idl
index dc0e2ef2b7d40f813a41dda7f1fde5db19fa1088..edf7a936fa3e0039390d77e9735f085da06e64b0 100644 (file)
@@ -166,13 +166,10 @@ static const struct fres_res_manager frm = {
 };
 
 
-int main(int argc, char *argv[])
+int forb_main(forb_orb orb, int argc, char *argv[])
 {
-       forb_orb orb;
        int ret;
        forb_init_attr_t attr = { .orb_id = "org.frescor.frm.cluster_tree" };
-       orb = forb_init(&argc, &argv, &attr);
-       if (!orb) error(1, errno, "forb_init");
 
        fres_block_register_cluster_tree();
 
index 5abd720a1dc9179bab696f74903c70d0a401c37c..79f6cc8ada2f013a6bea6425372fb31a5c546e91 100644 (file)
@@ -1,4 +1,4 @@
-bin_PROGRAMS = frm_aqcpu
+shared_LIBRARIES = frm_aqcpu
 frm_aqcpu_SOURCES = frm_aqcpu.c
 LOADLIBES += -L $(AQUOSA_ROOT)/lib -lqreslib -lqsuplib
 LOADLIBES += -Xlinker -rpath -Xlinker $(AQUOSA_ROOT)/lib
index 381ad70ad6b6aae5a8ec38f428303f875dccb29d..51c32d7817d6eaeeaf6ec80e83ffee63759a09a9 100644 (file)
@@ -116,13 +116,11 @@ static void
 usage(void)
 {
        printf("usage: frm_aqcpu [ options ]\n");
-       printf("  -d, --daemon [pid-file]   go to background after FORB initialization\n");
        printf("  -l, --loglevel <number>|<domain>=<number>,...\n");
 }
 
-int main(int argc, char *argv[])
+int forb_main(forb_orb orb, int argc, char *argv[])
 {
-       forb_orb orb;
        int ret;
        forb_init_attr_t attr = { .orb_id = "org.frescor.frm.aqcpu" };
        int  opt;
@@ -131,12 +129,8 @@ int main(int argc, char *argv[])
 
        ul_logreg_domain(&ulogd_frm_aqcpu);
 
-       while ((opt = getopt_long(argc, argv, "d::hl:", &long_opts[0], NULL)) != EOF) {
+       while ((opt = getopt_long(argc, argv, "hl:", &long_opts[0], NULL)) != EOF) {
                switch (opt) {
-                       case 'd':
-                               opt_daemon = true;
-                               opt_pidfile = optarg;
-                               break;
                        case 'l':
                                ul_log_domain_arg2levels(optarg);
                                break;
@@ -147,11 +141,6 @@ int main(int argc, char *argv[])
                }
        }
        
-       if (opt_daemon)
-               forb_daemon_prepare(opt_pidfile);
-
-       orb = forb_init(&argc, &argv, &attr);
-       if (!orb) error(1, errno, "forb_init");
 
        frm.res_id = frsh_get_local_cpu_id();
        ret = frm_register_and_run(orb, &frm);
index 707234881528a9122614886106c1d136f750285f..6cb7aebee6899ba20eb00c5c95ff9567ba816f17 100644 (file)
@@ -1,4 +1,4 @@
-bin_PROGRAMS = frm_cgcpu
+shared_LIBRARIES = frm_cgcpu
 frm_cgcpu_SOURCES = frm_cgcpu.c
 frm_cgcpu_LIBS = frm forb contract fosa rt ulut fcb_client
 lib_LOADLIBES+= frsh
index f9c288b0e67fa5d0105573c0e6347957962e5610..00b7b8d851fb9ced8f20d0ce6fb5d4cf09d866fe 100644 (file)
@@ -127,9 +127,8 @@ usage(void)
        printf("  -l, --loglevel <number>|<domain>=<number>,...\n");
 }
 
-int main(int argc, char *argv[])
+int forb_main(forb_orb orb, int argc, char *argv[])
 {
-       forb_orb orb;
        FILE* fd;
        int ret;
        int  opt;
@@ -139,12 +138,8 @@ int main(int argc, char *argv[])
 
        ul_logreg_domain(&ulogd_frm_cpucg);
 
-       while ((opt = getopt_long(argc, argv, "d::hl:", &long_opts[0], NULL)) != EOF) {
+       while ((opt = getopt_long(argc, argv, "hl:", &long_opts[0], NULL)) != EOF) {
                switch (opt) {
-                       case 'd':
-                               opt_daemon = true;
-                               opt_pidfile = optarg;
-                               break;
                        case 'l':
                                ul_log_domain_arg2levels(optarg);
                                break;
@@ -155,11 +150,6 @@ int main(int argc, char *argv[])
                }
        }
 
-       if (opt_daemon)
-               forb_daemon_prepare(opt_pidfile);
-
-       orb = forb_init(&argc, &argv, &attr);
-       if (!orb) error(1, errno, "forb_init");
        
        if (!(fd = fopen("/proc/sys/kernel/sched_rt_period_us", "r"))) {
                error(1, errno, "frm_generic_run");
index b98d878a67b8773184859dd64fd2e15bd62554a1..4a73fd98d9cf66b8c8236fc02516f70930861eb9 100644 (file)
@@ -1,7 +1,7 @@
 LFS:=$(shell getconf LFS_CFLAGS)
 CFLAGS += $(LFS)
 
-bin_PROGRAMS = frm_diskbfq
+shared_LIBRARIES = frm_diskbfq
 frm_diskbfq_SOURCES = diskbfq_mngr.c diskbfq_th.c
 frm_diskbfq_LIBS = frm forb contract fosa m rt ulut fcb_client frshdiskbfq
 
index 62a95808e58985dc3ad70fb4394dd879054bb601..c1a42406d76ef4114e36e676172bd68a4f9e14e8 100644 (file)
@@ -175,10 +175,9 @@ static struct fres_res_manager frm = {
        .priv = &disk
 };
 
-int main(int argc, char *argv[])
+int forb_main(forb_orb orb, int argc, char *argv[])
 {
        forb_init_attr_t attr = { .orb_id = "org.frescor.frm.diskbfq" };
-       forb_orb orb;
        FILE* fd;
        int readers = 4;
        char disk_dev[40] = {0}, *disk_name = disk_dev;
@@ -222,9 +221,6 @@ err_usage:
        if (!*disk_name)
                error(1, 0, "Disk device not specified");
 
-       orb = forb_init(&argc, &argv, &attr);
-       if (!orb) error(1, errno, "forb_init");
-
        /*
         * Check if BFQ I/O scheduler is available
         *  in the system.
index afbebe7f871c8579b67e715da94fe6c77e70d2aa..f29d52c1bdb0fe8068a90f7f01761e89d5fe8061 100644 (file)
@@ -2,7 +2,7 @@ default_CONFIG += CONFIG_RESOURCE_DUMMY=y
 default_CONFIG += CONFIG_RESOURCE_DUMMY_VERBOSE=y
 LOCAL_CONFIG_H = dummy_config.h
 
-bin_PROGRAMS = frm_dummy
+shared_LIBRARIES = frm_dummy
 frm_dummy_SOURCES = frm_dummy.c dummy_block.c
 frm_dummy_CLIENT_IDL = res_dummy_idl.idl
 frm_dummy_LIBS = frm forb contract fosa rt ulut fcb_client
index f9ff1702c0c075c8b16355f2680d7127259efebd..1314d03ff5c46701b27b3cd0344a072c0993a2ea 100644 (file)
@@ -162,9 +162,8 @@ static struct fres_res_manager frm = {
 };
 
 static struct option long_opts[] = {
-    { "daemon",   optional_argument, NULL, 'd' },
     { "loglevel", 1, 0, 'l' },
-    { "id",      required_argument, 0, 'i' },
+//     { "id",           required_argument, 0, 'i' },
     { "accept-all", 0, 0, 'a' },
     { "help", 0, 0, 'h' },
     { 0, 0, 0, 0}
@@ -176,19 +175,18 @@ usage(void)
        printf("usage: frm_dummy [ options ]\n");
        printf("  -a, --accept-all   Accepts all contracts\n");
        printf("  -d, --daemon [pid-file]   go to background after FORB initialization\n");
-       printf("  -i, --id <resource id>    Use a different id that the default (%d)\n", DUMMY_RESOURCE_ID);
+/*     printf("  -i, --id <resource id>    Use a different id that the default (%d)\n", DUMMY_RESOURCE_ID);*/
        printf("  -h, --help         Display this help\n");
        printf("  -l, --loglevel <number>|<domain>=<number>,...\n");
 }
 
-int main(int argc, char *argv[])
+int forb_main(forb_orb orb, int argc, char *argv[])
 {
-       forb_orb orb;
        int ret;
        forb_init_attr_t attr = { .orb_id = "org.frescor.frm.dummy" };
        int  opt;
 
-       while ((opt = getopt_long(argc, argv, "ad::i:l:h", &long_opts[0], NULL)) != EOF) {
+       while ((opt = getopt_long(argc, argv, "ai:l:h", &long_opts[0], NULL)) != EOF) {
                switch (opt) {
                        case 'a':
                                opt_accept_all = true;
@@ -196,9 +194,9 @@ int main(int argc, char *argv[])
                                opt_daemon = true;
                                opt_pidfile = optarg;
                                break;
-                       case 'i':
-                               opt_res_id = atoi(optarg);
-                               break;
+//                     case 'i':
+//                             opt_res_id = atoi(optarg);
+//                             break;
                        case 'l':
                                ul_log_domain_arg2levels(optarg);
                                break;
@@ -212,9 +210,6 @@ int main(int argc, char *argv[])
        if (opt_daemon)
                forb_daemon_prepare(opt_pidfile);
 
-       orb = forb_init(&argc, &argv, &attr);
-       if (!orb) error(1, errno, "forb_init");
-
        /* Register fres_block_dummy_sched to contract handling
         * functions */
        fres_block_register_dummy();
index 5c85569ffa7ac1edd8d565f97cfa41746621f846..7cdeca81fbc2b221637d7aa002c49af06664afd0 100644 (file)
@@ -4,7 +4,7 @@ default_CONFIG += CONFIG_FPGA_CORES=FRES_FPGA_CORRELATOR508_m
 ifeq ($(CONFIG_RESOURCE_FPGA),y)
 LOCAL_CONFIG_H = fpga_config.h
 
-bin_PROGRAMS = frm_fpga
+shared_LIBRARIES = frm_fpga
 frm_fpga_SOURCES = frm_fpga.c fpga_block.c
 frm_fpga_CLIENT_IDL = res_fpga_idl.idl
 frm_fpga_LIBS = frm forb contract fosa rt ulut fcb_client
index 90435024f99698189d2ad667380bac768b0ee521..2609e10674a94d4f71f0cee01475519d97c5bdd1 100644 (file)
@@ -110,13 +110,10 @@ static const struct fres_res_manager frm = {
 };
 
 
-int main(int argc, char *argv[])
+int forb_main(forb_orb orb, int argc, char *argv[])
 {
-       forb_orb orb;
        int ret;
        forb_init_attr_t attr = { .orb_id = "org.frescor.frm.fpga" };
-       orb = forb_init(&argc, &argv, &attr);
-       if (!orb) error(1, errno, "forb_init");
 
        /* Register fres_block_fpga to contract handling
         * functions */
index 7d13e232dd6b0dea93711efe6d22c66ac38f8efb..aec0af99864fb6a44dc2417d2953f55de35edbad 100644 (file)
@@ -3,7 +3,7 @@ default_CONFIG = CONFIG_RESOURCE_ITEM=y
 ifeq ($(CONFIG_RESOURCE_ITEM),y)
 CFLAGS += -std=gnu99
 
-bin_PROGRAMS = frm_item
+shared_LIBRARIES = frm_item
 frm_item_SOURCES = frm_item.c item_blocks.c FWSN.c serialsource.c
 frm_item_SERVER_IDL = item_idl.idl
 frm_item_LIBS = frm forb contract fosa rt ulut fcb_client m
index 4b02479c5cb6d680db73fc757bcaafb51102201a..04eb850979f6eb9335f9484963dfc98e542f5422 100644 (file)
@@ -224,9 +224,8 @@ static const struct forb_fres_item_scheduler_impl item_scheduler_impl = {
 
 struct item_status item_status;
 
-int main(int argc, char *argv[])
+int forb_main(forb_orb orb, int argc, char *argv[])
 {
-       forb_orb orb;
        int ret;
        forb_executor_t executor;
        fres_resource_manager frm;
@@ -240,9 +239,6 @@ int main(int argc, char *argv[])
        char *parametrsITEM[] ={NULL,device,platform};
 
        forb_init_attr_t attr = { .orb_id = "org.frescor.frm.item" };
-       orb = forb_init(&argc, &argv, &attr);
-       if (!orb) error(1, errno, "forb_init");
-
 
        fres_block_register_item();