int tool_cmd_delete( smcp_t smcp, int argc, char* argv[] ) { previous_sigint_handler = signal(SIGINT, &signal_interrupt); smcp_transaction_t transaction; char url[1000] = ""; if((2 == argc) && (0 == strcmp(argv[1], "--help"))) { printf("Help not yet implemented for this command.\n"); return ERRORCODE_HELP; } gRet = ERRORCODE_UNKNOWN; if (getenv("SMCP_CURRENT_PATH")) { strncpy(url, getenv("SMCP_CURRENT_PATH"), sizeof(url)); } if (argc == 2) { url_change(url, argv[1]); } else { fprintf(stderr, "Bad args.\n"); gRet = ERRORCODE_BADARG; goto bail; } require((transaction=send_delete_request(smcp, url)), bail); gRet = ERRORCODE_INPROGRESS; while(ERRORCODE_INPROGRESS == gRet) { smcp_plat_wait(smcp, 1000); smcp_plat_process(smcp); } smcp_transaction_end(smcp, transaction); bail: signal(SIGINT, previous_sigint_handler); return gRet; }
int tool_cmd_pair( smcp_t smcp, int argc, char* argv[] ) { previous_sigint_handler = signal(SIGINT, &signal_interrupt); coap_msg_id_t tid=0; char url[1000]; url[0] = 0; if((2 == argc) && (0 == strcmp(argv[1], "--help"))) { printf("Help not yet implemented for this command.\n"); return ERRORCODE_HELP; } gRet = ERRORCODE_UNKNOWN; if(getenv("SMCP_CURRENT_PATH")) { strncpy(url, getenv("SMCP_CURRENT_PATH"), sizeof(url)); if(argc >= 2) url_change(url, argv[1]); } else { if(argc >= 2) { strncpy(url, argv[1], sizeof(url)); } else { fprintf(stderr, "Bad args.\n"); gRet = ERRORCODE_BADARG; goto bail; } } if(argc == 2) { require((tid=send_pair_request(smcp, getenv( "SMCP_CURRENT_PATH"), url)), bail); } else if(argc == 3) { char url2[1000]; if(getenv("SMCP_CURRENT_PATH")) { strncpy(url2, getenv("SMCP_CURRENT_PATH"), sizeof(url2)); url_change(url2, argv[2]); } else { strncpy(url2, argv[2], sizeof(url2)); } require((tid=send_pair_request(smcp, url, url2)), bail); } else { fprintf(stderr, "Bad args.\n"); gRet = ERRORCODE_BADARG; goto bail; } gRet = ERRORCODE_INPROGRESS; while(ERRORCODE_INPROGRESS == gRet) { smcp_wait(smcp,1000); smcp_process(smcp); } bail: smcp_invalidate_transaction_old(smcp, tid); signal(SIGINT, previous_sigint_handler); return gRet; }