Пример #1
0
int main() {
    const char *lp_label;
    lp_label = SB_get_label_errno(EPERM);
    assert(strcmp(lp_label, "EPERM") == 0);
    lp_label = SB_get_label_ms_mon_configtype(MS_Mon_ConfigType_Undefined);
    assert(strcmp(lp_label, "MS_Mon_ConfigType_Undefined") == 0);
    lp_label = SB_get_label_ms_mon_configtype_short(MS_Mon_ConfigType_Undefined);
    assert(strcmp(lp_label, "Undefined") == 0);
    lp_label = SB_get_label_ms_mon_device_state(MS_Mon_State_UnMounted);
    assert(strcmp(lp_label, "MS_Mon_State_UnMounted") == 0);
    lp_label = SB_get_label_ms_mon_device_state_short(MS_Mon_State_UnMounted);
    assert(strcmp(lp_label, "UnMounted") == 0);
    lp_label = SB_get_label_ms_mon_msgtype(MS_MsgType_Change);
    assert(strcmp(lp_label, "MS_MsgType_Change") == 0);
    lp_label = SB_get_label_ms_mon_msgtype_short(MS_MsgType_Change);
    assert(strcmp(lp_label, "Change") == 0);
    lp_label = SB_get_label_ms_mon_proc_state(MS_Mon_State_Unknown);
    assert(strcmp(lp_label, "MS_Mon_State_Unknown") == 0);
    lp_label = SB_get_label_ms_mon_proc_state_short(MS_Mon_State_Unknown);
    assert(strcmp(lp_label, "Unknown") == 0);
    lp_label = SB_get_label_ms_mon_processtype(MS_ProcessType_Undefined);
    assert(strcmp(lp_label, "MS_ProcessType_Undefined") == 0);
    lp_label = SB_get_label_ms_mon_processtype_short(MS_ProcessType_Undefined);
    assert(strcmp(lp_label, "Undefined") == 0);
    lp_label = SB_get_label_ms_mon_reqtype(MS_ReqType_Close);
    assert(strcmp(lp_label, "MS_ReqType_Close") == 0);
    lp_label = SB_get_label_ms_mon_reqtype_short(MS_ReqType_Close);
    assert(strcmp(lp_label, "Close") == 0);
    lp_label = SB_get_label_ms_mon_shutdownlevel(MS_Mon_ShutdownLevel_Undefined);
    assert(strcmp(lp_label, "MS_Mon_ShutdownLevel_Undefined") == 0);
    lp_label = SB_get_label_ms_mon_shutdownlevel_short(MS_Mon_ShutdownLevel_Undefined);
    assert(strcmp(lp_label, "Undefined") == 0);
    return 0;
}
Пример #2
0
int main(int argc, char *argv[]) {
    int     exit = false;
    int     err;
    int     ferr;
    int     len;
    char    my_name[100];
    char    recv_buffer[BUFSIZ];
    BMS_SRE sre;
    bool    verbose = false;
    TAD     zargs[] = {
      { "-v",         TA_Bool, TA_NOMAX,    &verbose     },
      { "",           TA_End,  TA_NOMAX,    NULL         }
    };

    ferr = msg_init(&argc, &argv);
    arg_proc_args(zargs, false, argc, argv);
    TEST_CHK_FEOK(ferr);
    ferr = msg_mon_process_startup(true);  // system messages?
    TEST_CHK_FEOK(ferr);
    ferr = msg_mon_get_my_process_name(my_name, (int) sizeof(my_name));
    TEST_CHK_FEOK(ferr);
    msg_mon_enable_mon_messages(true);

    for (;;) {
        do {
            err = XWAIT(LREQ, -1);
            TEST_CHK_WAITIGNORE(err);
            err = BMSG_LISTEN_((short *) &sre, // sre
                               0,              // listenopts
                               0);             // listenertag
        } while (err == BSRETYPE_NOWORK);
        ferr = BMSG_READDATA_(sre.sre_msgId,  // msgid
                              recv_buffer,    // reqdata
                              BUFSIZ);        // bytecount
        TEST_CHK_FEOK(ferr);
        if ((sre.sre_flags & BSRE_MON)) {
            MS_Mon_Msg *msg = (MS_Mon_Msg *) recv_buffer;
            if (verbose)
                printf("server %s rcvd mon-msg %s (%d)\n",
                       my_name,
                       SB_get_label_ms_mon_msgtype(msg->type),
                       msg->type);
            if (msg->type == MS_MsgType_Close)
                exit = true;
        }
        strcat(recv_buffer, "- reply from server");
        len = (int) strlen(recv_buffer) + 1;
        BMSG_REPLY_(sre.sre_msgId,       // msgid
                    NULL,                // replyctrl
                    0,                   // replyctrlsize
                    recv_buffer,         // replydata
                    len,                 // replydatasize
                    0,                   // errorclass
                    NULL);               // newphandle
        if (exit)
            break;
    }

    ferr = msg_mon_process_shutdown();
    TEST_CHK_FEOK(ferr);
    return 0;
}