/*! CLI generic callback printing the variable vector and argument */ int callback(cligen_handle handle, cvec *cvv, cvec *argv) { int i = 1; cg_var *cv; char buf[64]; fprintf(stderr, "function: %s\n", cligen_fn_str_get(handle)); fprintf(stderr, "variables:\n"); cv = NULL; while ((cv = cvec_each1(cvv, cv)) != NULL) { cv2str(cv, buf, sizeof(buf)-1); fprintf(stderr, "\t%d name:%s type:%s value:%s\n", i++, cv_name_get(cv), cv_type2str(cv_type_get(cv)), buf ); } if (argv){ cv = NULL; i=0; while ((cv = cvec_each(argv, cv)) != NULL) { cv2str(cv, buf, sizeof(buf)-1); fprintf(stderr, "arg %d: %s\n", i++, buf); } } return 0; }
/* * This is a generic callback printing the variable vector and argument */ int cb(cligen_handle h, cvec *vars, cg_var *arg) { int i=1; cg_var *cv; char buf[64]; fprintf(stderr, "variables:\n"); cv = NULL; while ((cv = cvec_each1(vars, cv)) != NULL) { cv2str(cv, buf, sizeof(buf)-1); fprintf(stderr, "\t%d name:%s type:%s value:%s\n", i, cv_name_get(cv), cv_type2str(cv_type_get(cv)), buf ); } if (arg){ cv2str(arg, buf, sizeof(buf)-1); fprintf(stderr, "argument: %s\n", buf); } return 0; }
static PyObject * _CgVar_type2str(CgVar *self, PyObject *args) { enum cv_type type = CGV_ERR; if (!PyArg_ParseTuple(args, "|i", &type)) { if (self->cv == NULL) { PyErr_SetString(PyExc_AttributeError, "cv"); return NULL; } } if (type == CGV_ERR) type = cv_type_get(self->cv); return StringFromString(cv_type2str(type)); }