return 0;
}
+#define CAPBUF_SIZE 4096
+int get_capability(int argc, char ** argv) {
+ char full_cmd[16] = {0,};
+ char cap_buffer[CAPBUF_SIZE] = {0,};
+ uint16_t len = 0;
+
+ snprintf(full_cmd, sizeof(full_cmd), "capability:");
+ D(COMMANDLINE_MSG_FULL_CMD, argv[0], full_cmd);
+ int fd = sdb_connect(full_cmd);
+
+ if(fd >= 0) {
+ readx(fd, &len, sizeof(uint16_t));
+ if (len > CAPBUF_SIZE-1) {
+ len = CAPBUF_SIZE-1;
+ }
+ readx(fd, cap_buffer, len);
+
+ fprintf(stdout, "%s\n", cap_buffer);
+ sdb_close(fd);
+ return 0;
+ }
+ return 1;
+}
+
// Get the package temporary path. Returns minus if exception happens.
static int get_pkg_tmp_dir(char* pkg_tmp_dir){
int uninstall(int argc, char **argv);
int forkserver(int argc, char** argv);
int shell(int argc, char ** argv);
+int get_capability(int argc, char ** argv);
#endif /* COMMAND_FUNCTION_H_ */
create_command(&da_cmd , COMMANDLINE_DA_NAME, NULL,
0, EMPTY_STRING, da, COMMANDLINE_DA_MAX_ARG, COMMANDLINE_DA_MIN_ARG);
prepend(cmd_list, da_cmd );
+
+ COMMAND* capability_cmd = NULL;
+ create_command(&capability_cmd, COMMANDLINE_CAPABILITY_NAME, NULL,
+ 0, EMPTY_STRING, get_capability, COMMANDLINE_CAPABILITY_MAX_ARG, COMMANDLINE_CAPABILITY_MIN_ARG);
+ prepend(cmd_list, capability_cmd);
}
int process_cmdline(int argc, char** argv) {
const int COMMANDLINE_FORKSERVER_MAX_ARG = 1;
const int COMMANDLINE_FORKSERVER_MIN_ARG = 1;
+ const char* COMMANDLINE_CAPABILITY_NAME = "capability";
+ const int COMMANDLINE_CAPABILITY_MAX_ARG = 0;
+ const int COMMANDLINE_CAPABILITY_MIN_ARG = 0;
+
const char* COMMANDLINE_SERIAL_SHORT_OPT = "s";
const char* COMMANDLINE_SERIAL_LONG_OPT = "serial";
const char* COMMANDLINE_SERIAL_DESC[] = {
extern const int COMMANDLINE_FORKSERVER_MAX_ARG;
extern const int COMMANDLINE_FORKSERVER_MIN_ARG;
+ extern const char* COMMANDLINE_CAPABILITY_NAME;
+ extern const int COMMANDLINE_CAPABILITY_MAX_ARG;
+ extern const int COMMANDLINE_CAPABILITY_MIN_ARG;
+
+
extern const char* COMMANDLINE_SERIAL_SHORT_OPT;
extern const char* COMMANDLINE_SERIAL_LONG_OPT;
extern const char* COMMANDLINE_SERIAL_DESC[];