objid_query 373 ext/snmp/snmp.c struct objid_query { objid_query 701 ext/snmp/snmp.c struct objid_query *objid_query) objid_query 723 ext/snmp/snmp.c memmove((char *)root, (char *)(objid_query->vars[0].name), (objid_query->vars[0].name_length) * sizeof(oid)); objid_query 724 ext/snmp/snmp.c rootlen = objid_query->vars[0].name_length; objid_query 725 ext/snmp/snmp.c objid_query->offset = objid_query->count; objid_query 736 ext/snmp/snmp.c if ((st & SNMP_CMD_SET) && objid_query->count > objid_query->step) { objid_query 747 ext/snmp/snmp.c pdu->non_repeaters = objid_query->non_repeaters; objid_query 748 ext/snmp/snmp.c pdu->max_repetitions = objid_query->max_repetitions; objid_query 750 ext/snmp/snmp.c snmp_add_null_var(pdu, objid_query->vars[0].name, objid_query->vars[0].name_length); objid_query 764 ext/snmp/snmp.c for (count = 0; objid_query->offset < objid_query->count && count < objid_query->step; objid_query->offset++, count++){ objid_query 766 ext/snmp/snmp.c if ((snmp_errno = snmp_add_var(pdu, objid_query->vars[objid_query->offset].name, objid_query->vars[objid_query->offset].name_length, objid_query->vars[objid_query->offset].type, objid_query->vars[objid_query->offset].value))) { objid_query 767 ext/snmp/snmp.c snprint_objid(buf, sizeof(buf), objid_query->vars[objid_query->offset].name, objid_query->vars[objid_query->offset].name_length); objid_query 768 ext/snmp/snmp.c php_snmp_error(getThis(), NULL, PHP_SNMP_ERRNO_OID_PARSING_ERROR, "Could not add variable: OID='%s' type='%c' value='%s': %s", buf, objid_query->vars[objid_query->offset].type, objid_query->vars[objid_query->offset].value, snmp_api_errstring(snmp_errno)); objid_query 775 ext/snmp/snmp.c snmp_add_null_var(pdu, objid_query->vars[objid_query->offset].name, objid_query->vars[objid_query->offset].name_length); objid_query 791 ext/snmp/snmp.c if (objid_query->offset < objid_query->count) { /* we have unprocessed OIDs */ objid_query 822 ext/snmp/snmp.c objid_query->offset = 0; objid_query 829 ext/snmp/snmp.c php_snmp_getvalue(vars, &snmpval, objid_query->valueretrieval); objid_query 831 ext/snmp/snmp.c if (objid_query->array_output) { objid_query 839 ext/snmp/snmp.c for (count = 0; count < objid_query->count; count++) { objid_query 840 ext/snmp/snmp.c if (objid_query->vars[count].name_length == vars->name_length && snmp_oid_compare(objid_query->vars[count].name, objid_query->vars[count].name_length, vars->name, vars->name_length) == 0) { objid_query 842 ext/snmp/snmp.c objid_query->vars[count].name_length = 0; /* mark this name as used */ objid_query 847 ext/snmp/snmp.c add_assoc_zval(return_value, objid_query->vars[count].oid, &snmpval); objid_query 876 ext/snmp/snmp.c if (objid_query->oid_increasing_check == TRUE && snmp_oid_compare(objid_query->vars[0].name, objid_query->vars[0].name_length, vars->name, vars->name_length) >= 0) { objid_query 881 ext/snmp/snmp.c memmove((char *)(objid_query->vars[0].name), (char *)vars->name, vars->name_length * sizeof(oid)); objid_query 882 ext/snmp/snmp.c objid_query->vars[0].name_length = vars->name_length; objid_query 887 ext/snmp/snmp.c if (objid_query->offset < objid_query->count) { /* we have unprocessed OIDs */ objid_query 891 ext/snmp/snmp.c if (st & SNMP_CMD_WALK && response->errstat == SNMP_ERR_TOOBIG && objid_query->max_repetitions > 1) { /* Answer will not fit into single packet */ objid_query 892 ext/snmp/snmp.c objid_query->max_repetitions /= 2; objid_query 902 ext/snmp/snmp.c if (st & (SNMP_CMD_GET | SNMP_CMD_GETNEXT) && response->errstat == SNMP_ERR_TOOBIG && objid_query->step > 1) { /* Answer will not fit into single packet */ objid_query 903 ext/snmp/snmp.c objid_query->offset = ((objid_query->offset > objid_query->step) ? (objid_query->offset - objid_query->step) : 0 ); objid_query 904 ext/snmp/snmp.c objid_query->step /= 2; objid_query 923 ext/snmp/snmp.c if (objid_query->array_output) { objid_query 932 ext/snmp/snmp.c if (objid_query->array_output) { objid_query 942 ext/snmp/snmp.c if (objid_query->array_output) { objid_query 962 ext/snmp/snmp.c static int php_snmp_parse_oid(zval *object, int st, struct objid_query *objid_query, zval *oid, zval *type, zval *value) objid_query 982 ext/snmp/snmp.c objid_query->count = 0; objid_query 983 ext/snmp/snmp.c objid_query->array_output = ((st & SNMP_CMD_WALK) ? TRUE : FALSE); objid_query 985 ext/snmp/snmp.c objid_query->vars = (snmpobjarg *)emalloc(sizeof(snmpobjarg)); objid_query 986 ext/snmp/snmp.c if (objid_query->vars == NULL) { objid_query 988 ext/snmp/snmp.c efree(objid_query->vars); objid_query 991 ext/snmp/snmp.c objid_query->vars[objid_query->count].oid = Z_STRVAL_P(oid); objid_query 996 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1000 ext/snmp/snmp.c objid_query->vars[objid_query->count].type = *pptr; objid_query 1001 ext/snmp/snmp.c objid_query->vars[objid_query->count].value = Z_STRVAL_P(value); objid_query 1004 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1008 ext/snmp/snmp.c objid_query->count++; objid_query 1014 ext/snmp/snmp.c objid_query->vars = (snmpobjarg *)emalloc(sizeof(snmpobjarg) * zend_hash_num_elements(Z_ARRVAL_P(oid))); objid_query 1015 ext/snmp/snmp.c if (objid_query->vars == NULL) { objid_query 1017 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1020 ext/snmp/snmp.c objid_query->array_output = ( (st & SNMP_CMD_SET) ? FALSE : TRUE ); objid_query 1023 ext/snmp/snmp.c objid_query->vars[objid_query->count].oid = Z_STRVAL_P(tmp_oid); objid_query 1027 ext/snmp/snmp.c objid_query->vars[objid_query->count].type = *pptr; objid_query 1040 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1044 ext/snmp/snmp.c objid_query->vars[objid_query->count].type = *pptr; objid_query 1048 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1054 ext/snmp/snmp.c objid_query->vars[objid_query->count].value = Z_STRVAL_P(value); objid_query 1065 ext/snmp/snmp.c objid_query->vars[objid_query->count].value = Z_STRVAL_P(tmp_value); objid_query 1069 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1074 ext/snmp/snmp.c objid_query->count++; objid_query 1080 ext/snmp/snmp.c if (objid_query->count > 1) { objid_query 1082 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1085 ext/snmp/snmp.c objid_query->vars[0].name_length = MAX_NAME_LEN; objid_query 1086 ext/snmp/snmp.c if (strlen(objid_query->vars[0].oid)) { /* on a walk, an empty string means top of tree - no error */ objid_query 1087 ext/snmp/snmp.c if (!snmp_parse_oid(objid_query->vars[0].oid, objid_query->vars[0].name, &(objid_query->vars[0].name_length))) { objid_query 1088 ext/snmp/snmp.c php_snmp_error(object, NULL, PHP_SNMP_ERRNO_OID_PARSING_ERROR, "Invalid object identifier: %s", objid_query->vars[0].oid); objid_query 1089 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1093 ext/snmp/snmp.c memmove((char *)objid_query->vars[0].name, (char *)objid_mib, sizeof(objid_mib)); objid_query 1094 ext/snmp/snmp.c objid_query->vars[0].name_length = sizeof(objid_mib) / sizeof(oid); objid_query 1097 ext/snmp/snmp.c for (objid_query->offset = 0; objid_query->offset < objid_query->count; objid_query->offset++) { objid_query 1098 ext/snmp/snmp.c objid_query->vars[objid_query->offset].name_length = MAX_OID_LEN; objid_query 1099 ext/snmp/snmp.c if (!snmp_parse_oid(objid_query->vars[objid_query->offset].oid, objid_query->vars[objid_query->offset].name, &(objid_query->vars[objid_query->offset].name_length))) { objid_query 1100 ext/snmp/snmp.c php_snmp_error(object, NULL, PHP_SNMP_ERRNO_OID_PARSING_ERROR, "Invalid object identifier: %s", objid_query->vars[objid_query->offset].oid); objid_query 1101 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1106 ext/snmp/snmp.c objid_query->offset = 0; objid_query 1107 ext/snmp/snmp.c objid_query->step = objid_query->count; objid_query 1108 ext/snmp/snmp.c return (objid_query->count > 0); objid_query 1423 ext/snmp/snmp.c struct objid_query objid_query; objid_query 1429 ext/snmp/snmp.c objid_query.max_repetitions = -1; objid_query 1430 ext/snmp/snmp.c objid_query.non_repeaters = 0; objid_query 1431 ext/snmp/snmp.c objid_query.valueretrieval = SNMP_G(valueretrieval); objid_query 1432 ext/snmp/snmp.c objid_query.oid_increasing_check = TRUE; objid_query 1472 ext/snmp/snmp.c if (zend_parse_parameters(argc, "z|bll", &oid, &suffix_keys, &(objid_query.max_repetitions), &(objid_query.non_repeaters)) == FAILURE) { objid_query 1494 ext/snmp/snmp.c if (!php_snmp_parse_oid(getThis(), st, &objid_query, oid, type, value)) { objid_query 1500 ext/snmp/snmp.c efree(objid_query.vars); objid_query 1505 ext/snmp/snmp.c efree(objid_query.vars); objid_query 1516 ext/snmp/snmp.c efree(objid_query.vars); objid_query 1521 ext/snmp/snmp.c objid_query.step = snmp_object->max_oids; objid_query 1522 ext/snmp/snmp.c if (objid_query.max_repetitions < 0) { /* unspecified in function call, use session-wise */ objid_query 1523 ext/snmp/snmp.c objid_query.max_repetitions = snmp_object->max_oids; objid_query 1526 ext/snmp/snmp.c objid_query.oid_increasing_check = snmp_object->oid_increasing_check; objid_query 1527 ext/snmp/snmp.c objid_query.valueretrieval = snmp_object->valueretrieval; objid_query 1536 ext/snmp/snmp.c if (objid_query.max_repetitions < 0) { objid_query 1537 ext/snmp/snmp.c objid_query.max_repetitions = 20; /* provide correct default value */ objid_query 1540 ext/snmp/snmp.c php_snmp_internal(INTERNAL_FUNCTION_PARAM_PASSTHRU, st, session, &objid_query); objid_query 1542 ext/snmp/snmp.c efree(objid_query.vars);