Lines Matching +full:- +full:10 +full:v

1 /*-
168 syslog(LOG_ERR, "malloc failed - %s", strerror(errno)); in snmp_oct2tc()
262 warnx("Octetstring too long - %d is max allowed", in parse_octetstring()
263 MAX_OCTSTRING_LEN - 1); in parse_octetstring()
264 return (-1); in parse_octetstring()
267 if ((value->v.octetstring.octets = malloc(len)) == NULL) { in parse_octetstring()
268 value->v.octetstring.len = 0; in parse_octetstring()
270 return (-1); in parse_octetstring()
273 value->v.octetstring.len = len; in parse_octetstring()
274 memcpy(value->v.octetstring.octets, val, len); in parse_octetstring()
275 value->syntax = SNMP_SYNTAX_OCTETSTRING; in parse_octetstring()
284 * DateAndTime ::= TEXTUAL-CONVENTION
285 * DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
288 * "A date-time specification.
291 * ----- ------ -------- -----
292 * 1 1-2 year* 0..65536
298 * (use 60 for leap-second)
299 * 7 8 deci-seconds 0..9
300 * 8 9 direction from UTC '+' / '-'
301 * 9 10 hours from UTC* 0..13
302 * 10 11 minutes from UTC 0..59
305 * - the value of year is in network-byte order
306 * - daylight saving time in New Zealand is +13
311 * 1992-5-26,13:30:15.0,-4:0
327 ptr += sprintf(ptr, "%4.4d-%.2d-%.2d, ", year, octets[2],octets[3]); in snmp_octstr2date()
330 ptr += sprintf(ptr, "%c%.2d:%.2d", octets[8],octets[9],octets[10]); in snmp_octstr2date()
341 uint32_t v; in snmp_date2asn_oid() local
346 /* Read 'YYYY-' and write it in two subs. */ in snmp_date2asn_oid()
350 v = strtoul(ptr, &endptr, 10); in snmp_date2asn_oid()
351 if (v > 0xffff) in snmp_date2asn_oid()
355 if (*endptr != '-') in snmp_date2asn_oid()
357 if (snmp_suboid_append(oid, (asn_subid_t) ((v & 0xff00) >> 8)) < 0) in snmp_date2asn_oid()
359 if (snmp_suboid_append(oid, (asn_subid_t) (v & 0xff)) < 0) in snmp_date2asn_oid()
362 /* 'MM-' */ in snmp_date2asn_oid()
366 v = strtoul(ptr, &endptr, 10); in snmp_date2asn_oid()
371 if (*endptr != '-') in snmp_date2asn_oid()
373 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_date2asn_oid()
380 v = strtoul(ptr, &endptr, 10); in snmp_date2asn_oid()
385 if (*endptr != '-') in snmp_date2asn_oid()
387 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_date2asn_oid()
394 v = strtoul(ptr, &endptr, 10); in snmp_date2asn_oid()
401 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_date2asn_oid()
408 v = strtoul(ptr, &endptr, 10); in snmp_date2asn_oid()
415 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_date2asn_oid()
422 v = strtoul(ptr, &endptr, 10); in snmp_date2asn_oid()
429 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_date2asn_oid()
436 v = strtoul(ptr, &endptr, 10); in snmp_date2asn_oid()
443 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_date2asn_oid()
446 /* 'UTC' - optional */ in snmp_date2asn_oid()
451 /* '+/-' */ in snmp_date2asn_oid()
452 if (*ptr == '-' || *ptr == '+') { in snmp_date2asn_oid()
462 v = strtoul(ptr, &endptr, 10); in snmp_date2asn_oid()
469 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_date2asn_oid()
472 /* 'MM' - last one - ignore endptr here. */ in snmp_date2asn_oid()
476 v = strtoul(ptr, &endptr, 10); in snmp_date2asn_oid()
481 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_date2asn_oid()
493 /* Read a DateAndTime string eg. 1992-5-26,13:30:15.0,-4:0. */
498 uint32_t v; in parse_dateandtime() local
501 /* 'YYYY-' */ in parse_dateandtime()
502 v = strtoul(val, &endptr, 10); in parse_dateandtime()
503 if (v > 0xffff || *endptr != '-') in parse_dateandtime()
505 date[0] = ((v & 0xff00) >> 8); in parse_dateandtime()
506 date[1] = (v & 0xff); in parse_dateandtime()
509 /* 'MM-' */ in parse_dateandtime()
510 v = strtoul(val, &endptr, 10); in parse_dateandtime()
511 if (v == 0 || v > 12 || *endptr != '-') in parse_dateandtime()
513 date[2] = v; in parse_dateandtime()
517 v = strtoul(val, &endptr, 10); in parse_dateandtime()
518 if (v == 0 || v > 31 || *endptr != ',') in parse_dateandtime()
520 date[3] = v; in parse_dateandtime()
524 v = strtoul(val, &endptr, 10); in parse_dateandtime()
525 if (v > 23 || *endptr != ':') in parse_dateandtime()
527 date[4] = v; in parse_dateandtime()
531 v = strtoul(val, &endptr, 10); in parse_dateandtime()
532 if (v > 59 || *endptr != ':') in parse_dateandtime()
534 date[5] = v; in parse_dateandtime()
538 v = strtoul(val, &endptr, 10); in parse_dateandtime()
539 if (v > 60 || *endptr != '.') in parse_dateandtime()
541 date[6] = v; in parse_dateandtime()
544 /* '(deci-)s,' */ in parse_dateandtime()
545 v = strtoul(val, &endptr, 10); in parse_dateandtime()
546 if (v > 9 || *endptr != ',') in parse_dateandtime()
548 date[7] = v; in parse_dateandtime()
551 /* offset - '+/-' */ in parse_dateandtime()
552 if (*val != '-' && *val != '+') in parse_dateandtime()
557 /* 'HH:' - offset from UTC */ in parse_dateandtime()
558 v = strtoul(val, &endptr, 10); in parse_dateandtime()
559 if (v > 13 || *endptr != ':') in parse_dateandtime()
561 date[9] = v; in parse_dateandtime()
565 v = strtoul(val, &endptr, 10); in parse_dateandtime()
566 if (v > 59 || *endptr != '\0') in parse_dateandtime()
568 date[10] = v; in parse_dateandtime()
570 if ((sv->v.octetstring.octets = malloc(SNMP_DATETIME_OCTETS)) == NULL) { in parse_dateandtime()
572 return (-1); in parse_dateandtime()
575 sv->v.octetstring.len = SNMP_DATETIME_OCTETS; in parse_dateandtime()
576 memcpy(sv->v.octetstring.octets, date, SNMP_DATETIME_OCTETS); in parse_dateandtime()
577 sv->syntax = SNMP_SYNTAX_OCTETSTRING; in parse_dateandtime()
582 return (-1); in parse_dateandtime()
611 uint32_t v, i; in snmp_addr2asn_oid() local
620 v = strtoul(ptr, &endptr, 16); in snmp_addr2asn_oid()
622 if (v > 0xff) { in snmp_addr2asn_oid()
627 warnx("Failed adding oid - %s", str); in snmp_addr2asn_oid()
630 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_addr2asn_oid()
635 /* The last one - don't check the ending char here. */ in snmp_addr2asn_oid()
637 v = strtoul(ptr, &endptr, 16); in snmp_addr2asn_oid()
639 if (v > 0xff) { in snmp_addr2asn_oid()
643 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_addr2asn_oid()
654 uint32_t v; in parse_physaddress() local
658 v = strtoul(val, &endptr, 16); in parse_physaddress()
659 if (v > 0xff) { in parse_physaddress()
661 return (-1); in parse_physaddress()
664 warnx("Failed reading octet - %s", val); in parse_physaddress()
665 return (-1); in parse_physaddress()
667 phys_addr[i] = v; in parse_physaddress()
671 /* The last one - don't check the ending char here. */ in parse_physaddress()
672 v = strtoul(val, &endptr, 16); in parse_physaddress()
673 if (v > 0xff) { in parse_physaddress()
675 return (-1); in parse_physaddress()
677 phys_addr[5] = v; in parse_physaddress()
679 if ((sv->v.octetstring.octets = malloc(SNMP_PHYSADDR_OCTETS)) == NULL) { in parse_physaddress()
681 return (-1); in parse_physaddress()
684 sv->v.octetstring.len = SNMP_PHYSADDR_OCTETS; in parse_physaddress()
685 memcpy(sv->v.octetstring.octets, phys_addr, SNMP_PHYSADDR_OCTETS); in parse_physaddress()
686 sv->syntax = SNMP_SYNTAX_OCTETSTRING; in parse_physaddress()
694 * NTPTimeStamp ::= TEXTUAL-CONVENTION
695 * DISPLAY-HINT "4x.4x"
713 i = octets[0] * 1000 + octets[1] * 100 + octets[2] * 10 + octets[3]; in snmp_oct2ntp_ts()
715 i = octets[4] * 1000 + octets[5] * 100 + octets[6] * 10 + octets[7]; in snmp_oct2ntp_ts()
725 uint32_t v, i, d; in snmp_ntp_ts2asn_oid() local
735 v = strtoul(ptr, &endptr, 10); in snmp_ntp_ts2asn_oid()
736 if (errno != 0 || (v / 1000) > 9) { in snmp_ntp_ts2asn_oid()
744 warnx("Failed adding oid - %s", str); in snmp_ntp_ts2asn_oid()
752 suboid.subs[i] = v / d; in snmp_ntp_ts2asn_oid()
753 v = v % d; in snmp_ntp_ts2asn_oid()
754 d = d / 10; in snmp_ntp_ts2asn_oid()
760 v = strtoul(ptr, &endptr, 10); in snmp_ntp_ts2asn_oid()
761 if (errno != 0 || (v / 1000) > 9) { in snmp_ntp_ts2asn_oid()
769 suboid.subs[i + 4] = v / d; in snmp_ntp_ts2asn_oid()
770 v = v % d; in snmp_ntp_ts2asn_oid()
771 d = d / 10; in snmp_ntp_ts2asn_oid()
783 uint32_t v; in parse_ntp_ts() local
788 v = strtoul(val, &endptr, 10); in parse_ntp_ts()
789 if (errno != 0 || (v / 1000) > 9) { in parse_ntp_ts()
792 return (-1); in parse_ntp_ts()
797 warnx("Failed reading octet - %s", val); in parse_ntp_ts()
798 return (-1); in parse_ntp_ts()
802 ntp_ts[i] = v / d; in parse_ntp_ts()
803 v = v % d; in parse_ntp_ts()
804 d = d / 10; in parse_ntp_ts()
810 v = strtoul(val, &endptr, 10); in parse_ntp_ts()
811 if (errno != 0 || (v / 1000) > 9) { in parse_ntp_ts()
814 return (-1); in parse_ntp_ts()
819 ntp_ts[i + 4] = v / d; in parse_ntp_ts()
820 v = v % d; in parse_ntp_ts()
821 d = d / 10; in parse_ntp_ts()
824 if ((sv->v.octetstring.octets = malloc(SNMP_NTP_TS_OCTETS)) == NULL) { in parse_ntp_ts()
826 return (-1); in parse_ntp_ts()
829 sv->v.octetstring.len = SNMP_NTP_TS_OCTETS; in parse_ntp_ts()
830 memcpy(sv->v.octetstring.octets, ntp_ts, SNMP_NTP_TS_OCTETS); in parse_ntp_ts()
831 sv->syntax = SNMP_SYNTAX_OCTETSTRING; in parse_ntp_ts()
838 * BRIDGE-MIB, REVISION "200509190000Z"
839 * BridgeId ::= TEXTUAL-CONVENTION
842 * "The Bridge-Identifier, as used in the Spanning Tree
883 uint32_t v, i; in snmp_bridgeid2oct() local
893 v = strtoul(ptr, &endptr, 10); in snmp_bridgeid2oct()
895 if (v > SNMP_MAX_BRIDGE_PRIORITY || errno != 0 || *endptr != '.') { in snmp_bridgeid2oct()
897 warnx("Bad bridge priority value %d", v); in snmp_bridgeid2oct()
901 if (snmp_suboid_append(oid, (asn_subid_t) (v & 0xff00)) < 0) in snmp_bridgeid2oct()
904 if (snmp_suboid_append(oid, (asn_subid_t) (v & 0xff)) < 0) in snmp_bridgeid2oct()
911 v = strtoul(ptr, &endptr, 16); in snmp_bridgeid2oct()
913 if (v > 0xff) { in snmp_bridgeid2oct()
918 warnx("Failed adding oid - %s",str); in snmp_bridgeid2oct()
921 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_bridgeid2oct()
926 /* The last one - don't check the ending char here. */ in snmp_bridgeid2oct()
929 v = strtoul(ptr, &endptr, 16); in snmp_bridgeid2oct()
931 if (v > 0xff) { in snmp_bridgeid2oct()
935 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_bridgeid2oct()
946 uint32_t v; in parse_bridge_id() local
952 v = strtoul(string, &endptr, 10); in parse_bridge_id()
954 if (v > SNMP_MAX_BRIDGE_PRIORITY || errno != 0 || *endptr != '.') { in parse_bridge_id()
956 warnx("Bad bridge priority value %d", v); in parse_bridge_id()
957 return (-1); in parse_bridge_id()
960 bridge_id[0] = (v & 0xff00); in parse_bridge_id()
961 bridge_id[1] = (v & 0xff); in parse_bridge_id()
966 v = strtoul(string, &endptr, 16); in parse_bridge_id()
967 if (v > 0xff) { in parse_bridge_id()
969 return (-1); in parse_bridge_id()
972 warnx("Failed reading octet - %s", string); in parse_bridge_id()
973 return (-1); in parse_bridge_id()
975 bridge_id[i + 2] = v; in parse_bridge_id()
979 /* The last one - don't check the ending char here. */ in parse_bridge_id()
980 v = strtoul(string, &endptr, 16); in parse_bridge_id()
981 if (v > 0xff) { in parse_bridge_id()
983 return (-1); in parse_bridge_id()
985 bridge_id[7] = v; in parse_bridge_id()
987 if ((sv->v.octetstring.octets = malloc(SNMP_BRIDGEID_OCTETS)) == NULL) { in parse_bridge_id()
989 return (-1); in parse_bridge_id()
992 sv->v.octetstring.len = SNMP_BRIDGEID_OCTETS; in parse_bridge_id()
993 memcpy(sv->v.octetstring.octets, bridge_id, SNMP_BRIDGEID_OCTETS); in parse_bridge_id()
994 sv->syntax = SNMP_SYNTAX_OCTETSTRING; in parse_bridge_id()
1001 * BEGEMOT-BRIDGE-MIB, LAST-UPDATED "200608100000Z"
1002 * BridgePortId ::= TEXTUAL-CONVENTION
1003 * DISPLAY-HINT "1x.1x"
1031 uint32_t v; in snmp_bport_id2oct() local
1041 v = strtoul(ptr, &endptr, 10); in snmp_bport_id2oct()
1043 if (v > SNMP_MAX_BPORT_PRIORITY || errno != 0 || *endptr != '.') { in snmp_bport_id2oct()
1045 warnx("Bad bridge port priority value %d", v); in snmp_bport_id2oct()
1049 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_bport_id2oct()
1054 v = strtoul(ptr, &endptr, 16); in snmp_bport_id2oct()
1057 if (v > 0xff) { in snmp_bport_id2oct()
1058 warnx("Bad port number - %d", v); in snmp_bport_id2oct()
1062 if (snmp_suboid_append(oid, (asn_subid_t) v) < 0) in snmp_bport_id2oct()
1073 uint32_t v; in parse_bport_id() local
1079 v = strtoul(string, &endptr, 10); in parse_bport_id()
1081 if (v > SNMP_MAX_BPORT_PRIORITY || errno != 0 || *endptr != '.') { in parse_bport_id()
1083 warnx("Bad bridge port priority value %d", v); in parse_bport_id()
1084 return (-1); in parse_bport_id()
1087 bport_id[0] = v; in parse_bport_id()
1090 v = strtoul(string, &endptr, 16); in parse_bport_id()
1091 if (v > 0xff) { in parse_bport_id()
1092 warnx("Bad port number - %d", v); in parse_bport_id()
1093 return (-1); in parse_bport_id()
1096 bport_id[1] = v; in parse_bport_id()
1098 if ((value->v.octetstring.octets = malloc(SNMP_BPORT_OCTETS)) == NULL) { in parse_bport_id()
1100 return (-1); in parse_bport_id()
1103 value->v.octetstring.len = SNMP_BPORT_OCTETS; in parse_bport_id()
1104 memcpy(value->v.octetstring.octets, bport_id, SNMP_BPORT_OCTETS); in parse_bport_id()
1105 value->syntax = SNMP_SYNTAX_OCTETSTRING; in parse_bport_id()
1111 * INET-ADDRESS-MIB, REVISION "200502040000Z"
1112 * InetAddress ::= TEXTUAL-CONVENTION
1133 * sub-identifiers specified in SMIv2, STD 58. In this case,
1135 * limit the number of potential instance sub-identifiers;
1145 * OctetString SIZE - 4 for IPv4, 16 for IPv6, others currently
1160 /* XXX: FIXME - IPv4*/ in snmp_oct2inetaddr()
1167 /* XXX: FIXME - IPv4*/ in snmp_oct2inetaddr()
1195 return (-1); in parse_inetaddr()
1199 * SNMP BITS type - XXX: FIXME
1210 for (i = len, value = 0, bits = 0; i > 0; i--, bits += 8) in snmp_oct2bits()
1224 uint64_t v, mask = 0xFF00000000000000; in snmp_bits2oct() local
1229 v = strtoull(str, &endptr, 16); in snmp_bits2oct()
1237 /* Determine length - up to 8 octets supported so far. */ in snmp_bits2oct()
1238 for (size = sizeof(v); size > 0; size--) { in snmp_bits2oct()
1239 if ((v & mask) != 0) in snmp_bits2oct()
1252 (asn_subid_t)((v & mask) >> bits)) < 0) in snmp_bits2oct()
1263 uint64_t v, mask = 0xFF00000000000000; in parse_bits() local
1268 v = strtoull(string, &endptr, 16); in parse_bits()
1273 return (-1); in parse_bits()
1277 /* Determine length - up to 8 octets supported so far. */ in parse_bits()
1278 for (size = sizeof(v); size > 0; size--) { in parse_bits()
1279 if ((v & mask) != 0) in parse_bits()
1287 if ((value->v.octetstring.octets = malloc(size)) == NULL) { in parse_bits()
1289 return (-1); in parse_bits()
1292 value->v.octetstring.len = size; in parse_bits()
1294 value->v.octetstring.octets[i] = (v & mask) >> bits; in parse_bits()
1295 value->syntax = SNMP_SYNTAX_OCTETSTRING; in parse_bits()