• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/usr.sbin/bsnmpd/tools/libbsnmptools/

Lines Matching refs:snmptoolctx

124 snmptool_init(struct snmp_toolinfo *snmptoolctx)
129 memset(snmptoolctx, 0, sizeof(struct snmp_toolinfo));
130 snmptoolctx->objects = 0;
131 snmptoolctx->mappings = NULL;
132 snmptoolctx->flags = SNMP_PDU_GET; /* XXX */
133 SLIST_INIT(&snmptoolctx->filelist);
135 SET_MAXREP(snmptoolctx, SNMP_MAX_REPETITIONS);
137 if (add_filename(snmptoolctx, bsnmpd_defs, &IsoOrgDod_OID, 0) < 0)
140 if (add_filename(snmptoolctx, mibII_defs, &IsoOrgDod_OID, 0) < 0)
179 if ((snmptoolctx->passwd = malloc(slen + 1)) == NULL) {
184 strlcpy(snmptoolctx->passwd, str, slen + 1);
196 snmp_import_all(struct snmp_toolinfo *snmptoolctx)
201 if (snmptoolctx == NULL)
204 if (ISSET_NUMERIC(snmptoolctx))
207 if ((snmptoolctx->mappings = snmp_mapping_init()) == NULL)
211 if (SLIST_EMPTY(&snmptoolctx->filelist)) {
215 SLIST_FOREACH(tmp, &snmptoolctx->filelist, link) {
218 if (snmp_import_file(snmptoolctx, tmp) < 0) {
226 snmp_mapping_dump(snmptoolctx);
239 add_filename(struct snmp_toolinfo *snmptoolctx, const char *filename,
245 if (snmptoolctx == NULL)
249 SLIST_FOREACH(entry, &snmptoolctx->filelist, link) {
269 SLIST_INSERT_HEAD(&snmptoolctx->filelist, entry, link);
275 free_filelist(struct snmp_toolinfo *snmptoolctx)
279 if (snmptoolctx == NULL)
282 while ((f = SLIST_FIRST(&snmptoolctx->filelist)) != NULL) {
283 SLIST_REMOVE_HEAD(&snmptoolctx->filelist, link);
384 parse_flist(struct snmp_toolinfo *snmptoolctx, char *value, char *path,
434 if (add_filename(snmptoolctx, filename, cut, 0) < 0) {
484 parse_authentication(struct snmp_toolinfo *snmptoolctx __unused, char *opt_arg)
539 parse_privacy(struct snmp_toolinfo *snmptoolctx __unused, char *opt_arg)
592 parse_context(struct snmp_toolinfo *snmptoolctx __unused, char *opt_arg)
634 parse_user_security(struct snmp_toolinfo *snmptoolctx __unused, char *opt_arg)
706 parse_file(struct snmp_toolinfo *snmptoolctx, char *opt_arg)
710 if (parse_flist(snmptoolctx, opt_arg, NULL, &IsoOrgDod_OID) < 0)
717 parse_include(struct snmp_toolinfo *snmptoolctx, char *opt_arg)
737 free_filelist(snmptoolctx, ); */
771 len = parse_flist(snmptoolctx, val, path, &IsoOrgDod_OID);
773 len = parse_flist(snmptoolctx, val, path, &cut);
942 parse_discovery(struct snmp_toolinfo *snmptoolctx)
944 SET_EDISCOVER(snmptoolctx);
950 parse_local_key(struct snmp_toolinfo *snmptoolctx)
952 SET_LOCALKEY(snmptoolctx);
958 parse_num_oids(struct snmp_toolinfo *snmptoolctx)
960 SET_NUMERIC(snmptoolctx);
965 parse_output(struct snmp_toolinfo *snmptoolctx, char *opt_arg)
975 SET_OUTPUT(snmptoolctx, OUTPUT_SHORT);
977 SET_OUTPUT(snmptoolctx, OUTPUT_VERBOSE);
979 SET_OUTPUT(snmptoolctx, OUTPUT_TABULAR);
981 SET_OUTPUT(snmptoolctx, OUTPUT_QUIET);
991 parse_errors(struct snmp_toolinfo *snmptoolctx)
993 SET_RETRY(snmptoolctx);
998 parse_skip_access(struct snmp_toolinfo *snmptoolctx)
1000 SET_ERRIGNORE(snmptoolctx);
1055 snmp_oid2asn_oid(struct snmp_toolinfo *snmptoolctx, char *str,
1075 if (snmp_lookup_enumoid(snmptoolctx, &obj, string) < 0) {
1174 snmp_parse_subindex(struct snmp_toolinfo *snmptoolctx, char *str,
1183 if (GET_OUTPUT(snmptoolctx) == OUTPUT_VERBOSE) {
1199 if (stx != idx->syntax && !ISSET_ERRIGNORE(snmptoolctx)) {
1216 return (snmp_oid2asn_oid(snmptoolctx, ptr,
1239 snmp_parse_index(struct snmp_toolinfo *snmptoolctx, char *str,
1250 if ((ptr = snmp_parse_subindex(snmptoolctx, str, temp, object))
1348 snmp_object_add(struct snmp_toolinfo *snmptoolctx, snmp_verify_inoid_f func,
1353 if (snmptoolctx == NULL)
1357 if (snmptoolctx->objects >= SNMP_MAX_BINDINGS) {
1358 warnx("Too many bindings in PDU - %u", snmptoolctx->objects + 1);
1367 if (func(snmptoolctx, obj, string) < 0) {
1373 snmptoolctx->objects++;
1374 SLIST_INSERT_HEAD(&snmptoolctx->snmp_objectlist, obj, link);
1381 snmp_object_remove(struct snmp_toolinfo *snmptoolctx, struct asn_oid *oid)
1385 if (SLIST_EMPTY(&snmptoolctx->snmp_objectlist)) {
1391 SLIST_FOREACH(temp, &snmptoolctx->snmp_objectlist, link)
1400 SLIST_REMOVE(&snmptoolctx->snmp_objectlist, temp, snmp_object, link);
1410 snmp_object_freeall(struct snmp_toolinfo *snmptoolctx)
1414 while ((o = SLIST_FIRST(&snmptoolctx->snmp_objectlist)) != NULL) {
1415 SLIST_REMOVE_HEAD(&snmptoolctx->snmp_objectlist, link);
1426 snmp_tool_freeall(struct snmp_toolinfo *snmptoolctx)
1438 snmp_mapping_free(snmptoolctx);
1439 free_filelist(snmptoolctx);
1440 snmp_object_freeall(snmptoolctx);
1442 if (snmptoolctx->passwd != NULL) {
1443 free(snmptoolctx->passwd);
1444 snmptoolctx->passwd = NULL;
1456 snmp_pdu_add_bindings(struct snmp_toolinfo *snmptoolctx,
1467 if (SLIST_EMPTY(&snmptoolctx->snmp_objectlist))
1476 SLIST_FOREACH(obj, &snmptoolctx->snmp_objectlist, link) {
1477 if ((vfunc != NULL) && (vfunc(snmptoolctx, pdu, obj) < 0)) {
1500 snmp_object_seterror(struct snmp_toolinfo *snmptoolctx,
1505 if (SLIST_EMPTY(&snmptoolctx->snmp_objectlist) || err_value == NULL)
1508 SLIST_FOREACH(obj, &snmptoolctx->snmp_objectlist, link)
1644 snmp_output_octetstring(struct snmp_toolinfo *snmptoolctx, enum snmp_tc tc,
1652 if (GET_OUTPUT(snmptoolctx) == OUTPUT_VERBOSE)
1663 snmp_output_octetindex(struct snmp_toolinfo *snmptoolctx, enum snmp_tc tc,
1675 snmp_output_octetstring(snmptoolctx, tc, oid->subs[0], s);
1684 snmp_output_oid_value(struct snmp_toolinfo *snmptoolctx, struct asn_oid *oid)
1689 if (GET_OUTPUT(snmptoolctx) == OUTPUT_VERBOSE)
1692 if(!ISSET_NUMERIC(snmptoolctx)) {
1696 if (snmp_lookup_enumstring(snmptoolctx, &obj) > 0)
1698 else if (snmp_lookup_oidstring(snmptoolctx, &obj) > 0)
1700 else if (snmp_lookup_nodestring(snmptoolctx, &obj) > 0)
1713 snmp_output_int(struct snmp_toolinfo *snmptoolctx, struct enum_pairs *enums,
1718 if (GET_OUTPUT(snmptoolctx) == OUTPUT_VERBOSE)
1730 snmp_output_ipaddress(struct snmp_toolinfo *snmptoolctx, uint8_t *ip)
1732 if (GET_OUTPUT(snmptoolctx) == OUTPUT_VERBOSE)
1740 snmp_output_counter(struct snmp_toolinfo *snmptoolctx, uint32_t counter)
1742 if (GET_OUTPUT(snmptoolctx) == OUTPUT_VERBOSE)
1750 snmp_output_gauge(struct snmp_toolinfo *snmptoolctx, uint32_t gauge)
1752 if (GET_OUTPUT(snmptoolctx) == OUTPUT_VERBOSE)
1759 snmp_output_ticks(struct snmp_toolinfo *snmptoolctx, uint32_t ticks)
1761 if (GET_OUTPUT(snmptoolctx) == OUTPUT_VERBOSE)
1769 snmp_output_counter64(struct snmp_toolinfo *snmptoolctx, uint64_t counter64)
1771 if (GET_OUTPUT(snmptoolctx) == OUTPUT_VERBOSE)
1779 snmp_output_numval(struct snmp_toolinfo *snmptoolctx, struct snmp_value *val,
1785 if (GET_OUTPUT(snmptoolctx) != OUTPUT_QUIET)
1791 snmp_output_int(snmptoolctx, entry->snmp_enum,
1794 snmp_output_int(snmptoolctx, NULL, val->v.integer);
1799 snmp_output_octetstring(snmptoolctx, entry->tc,
1802 snmp_output_octetstring(snmptoolctx, SNMP_STRING,
1807 snmp_output_oid_value(snmptoolctx, &(val->v.oid));
1811 snmp_output_ipaddress(snmptoolctx, val->v.ipaddress);
1815 snmp_output_counter(snmptoolctx, val->v.uint32);
1819 snmp_output_gauge(snmptoolctx, val->v.uint32);
1823 snmp_output_ticks(snmptoolctx, val->v.uint32);
1827 snmp_output_counter64(snmptoolctx, val->v.counter64);
1859 snmp_fill_object(struct snmp_toolinfo *snmptoolctx, struct snmp_object *obj,
1876 rc = snmp_lookup_leafstring(snmptoolctx, obj);
1878 rc = snmp_lookup_nonleaf_string(snmptoolctx, obj);
1887 snmp_output_index(struct snmp_toolinfo *snmptoolctx, struct index *stx,
1903 snmp_output_int(snmptoolctx, stx->snmp_enum, temp.subs[0]);
1910 snmp_output_octetindex(snmptoolctx, stx->tc, &temp);
1922 snmp_output_oid_value(snmptoolctx, &out);
1931 snmp_output_ipaddress(snmptoolctx, ip);
1936 snmp_output_counter(snmptoolctx, temp.subs[0]);
1940 snmp_output_gauge(snmptoolctx, temp.subs[0]);
1944 snmp_output_ticks(snmptoolctx, temp.subs[0]);
1952 snmp_output_counter64(snmptoolctx, cnt64);
1963 snmp_output_object(struct snmp_toolinfo *snmptoolctx, struct snmp_object *o)
1969 if (ISSET_NUMERIC(snmptoolctx))
1991 if ((i = snmp_output_index(snmptoolctx, temp, &oid)) < 0)
2004 snmp_output_err_resp(struct snmp_toolinfo *snmptoolctx, struct snmp_pdu *pdu)
2022 if (!ISSET_NUMERIC(snmptoolctx) && (snmp_fill_object(snmptoolctx, object,
2024 snmp_output_object(snmptoolctx, object);
2042 snmp_output_resp(struct snmp_toolinfo *snmptoolctx, struct snmp_pdu *pdu,
2059 if (GET_OUTPUT(snmptoolctx) != OUTPUT_QUIET) {
2060 if (!ISSET_NUMERIC(snmptoolctx) &&
2061 (snmp_fill_object(snmptoolctx, object,
2063 snmp_output_object(snmptoolctx, object);
2069 error |= snmp_output_numval(snmptoolctx, &(pdu->bindings[i]),