objid_query 373 ext/snmp/snmp.c struct objid_query { objid_query 705 ext/snmp/snmp.c struct objid_query *objid_query) objid_query 727 ext/snmp/snmp.c memmove((char *)root, (char *)(objid_query->vars[0].name), (objid_query->vars[0].name_length) * sizeof(oid)); objid_query 728 ext/snmp/snmp.c rootlen = objid_query->vars[0].name_length; objid_query 729 ext/snmp/snmp.c objid_query->offset = objid_query->count; objid_query 740 ext/snmp/snmp.c if ((st & SNMP_CMD_SET) && objid_query->count > objid_query->step) { objid_query 751 ext/snmp/snmp.c pdu->non_repeaters = objid_query->non_repeaters; objid_query 752 ext/snmp/snmp.c pdu->max_repetitions = objid_query->max_repetitions; objid_query 754 ext/snmp/snmp.c snmp_add_null_var(pdu, objid_query->vars[0].name, objid_query->vars[0].name_length); objid_query 768 ext/snmp/snmp.c for (count = 0; objid_query->offset < objid_query->count && count < objid_query->step; objid_query->offset++, count++){ objid_query 770 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 771 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 772 ext/snmp/snmp.c php_snmp_error(getThis(), NULL TSRMLS_CC, 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 779 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 795 ext/snmp/snmp.c if (objid_query->offset < objid_query->count) { /* we have unprocessed OIDs */ objid_query 826 ext/snmp/snmp.c objid_query->offset = 0; objid_query 833 ext/snmp/snmp.c php_snmp_getvalue(vars, snmpval TSRMLS_CC, objid_query->valueretrieval); objid_query 835 ext/snmp/snmp.c if (objid_query->array_output) { objid_query 843 ext/snmp/snmp.c for (count = 0; count < objid_query->count; count++) { objid_query 844 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 846 ext/snmp/snmp.c objid_query->vars[count].name_length = 0; /* mark this name as used */ objid_query 851 ext/snmp/snmp.c add_assoc_zval(return_value, objid_query->vars[count].oid, snmpval); objid_query 882 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 887 ext/snmp/snmp.c memmove((char *)(objid_query->vars[0].name), (char *)vars->name, vars->name_length * sizeof(oid)); objid_query 888 ext/snmp/snmp.c objid_query->vars[0].name_length = vars->name_length; objid_query 893 ext/snmp/snmp.c if (objid_query->offset < objid_query->count) { /* we have unprocessed OIDs */ objid_query 897 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 898 ext/snmp/snmp.c objid_query->max_repetitions /= 2; objid_query 908 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 909 ext/snmp/snmp.c objid_query->offset = ((objid_query->offset > objid_query->step) ? (objid_query->offset - objid_query->step) : 0 ); objid_query 910 ext/snmp/snmp.c objid_query->step /= 2; objid_query 929 ext/snmp/snmp.c if (objid_query->array_output) { objid_query 938 ext/snmp/snmp.c if (objid_query->array_output) { objid_query 948 ext/snmp/snmp.c if (objid_query->array_output) { objid_query 968 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 TSRMLS_DC) objid_query 1003 ext/snmp/snmp.c objid_query->count = 0; objid_query 1004 ext/snmp/snmp.c objid_query->array_output = ((st & SNMP_CMD_WALK) ? TRUE : FALSE); objid_query 1006 ext/snmp/snmp.c objid_query->vars = (snmpobjarg *)emalloc(sizeof(snmpobjarg)); objid_query 1007 ext/snmp/snmp.c if (objid_query->vars == NULL) { objid_query 1009 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1012 ext/snmp/snmp.c objid_query->vars[objid_query->count].oid = Z_STRVAL_PP(oid); objid_query 1017 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1021 ext/snmp/snmp.c objid_query->vars[objid_query->count].type = *pptr; objid_query 1022 ext/snmp/snmp.c objid_query->vars[objid_query->count].value = Z_STRVAL_PP(value); objid_query 1025 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1029 ext/snmp/snmp.c objid_query->count++; objid_query 1035 ext/snmp/snmp.c objid_query->vars = (snmpobjarg *)emalloc(sizeof(snmpobjarg) * zend_hash_num_elements(Z_ARRVAL_PP(oid))); objid_query 1036 ext/snmp/snmp.c if (objid_query->vars == NULL) { objid_query 1038 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1041 ext/snmp/snmp.c objid_query->array_output = ( (st & SNMP_CMD_SET) ? FALSE : TRUE ); objid_query 1047 ext/snmp/snmp.c objid_query->vars[objid_query->count].oid = Z_STRVAL_PP(tmp_oid); objid_query 1051 ext/snmp/snmp.c objid_query->vars[objid_query->count].type = *pptr; objid_query 1057 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1061 ext/snmp/snmp.c objid_query->vars[objid_query->count].type = *pptr; objid_query 1065 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1071 ext/snmp/snmp.c objid_query->vars[objid_query->count].value = Z_STRVAL_PP(value); objid_query 1075 ext/snmp/snmp.c objid_query->vars[objid_query->count].value = Z_STRVAL_PP(tmp_value); objid_query 1079 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1084 ext/snmp/snmp.c objid_query->count++; objid_query 1090 ext/snmp/snmp.c if (objid_query->count > 1) { objid_query 1092 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1095 ext/snmp/snmp.c objid_query->vars[0].name_length = MAX_NAME_LEN; objid_query 1096 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 1097 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 1098 ext/snmp/snmp.c php_snmp_error(object, NULL TSRMLS_CC, PHP_SNMP_ERRNO_OID_PARSING_ERROR, "Invalid object identifier: %s", objid_query->vars[0].oid); objid_query 1099 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1103 ext/snmp/snmp.c memmove((char *)objid_query->vars[0].name, (char *)objid_mib, sizeof(objid_mib)); objid_query 1104 ext/snmp/snmp.c objid_query->vars[0].name_length = sizeof(objid_mib) / sizeof(oid); objid_query 1107 ext/snmp/snmp.c for (objid_query->offset = 0; objid_query->offset < objid_query->count; objid_query->offset++) { objid_query 1108 ext/snmp/snmp.c objid_query->vars[objid_query->offset].name_length = MAX_OID_LEN; objid_query 1109 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 1110 ext/snmp/snmp.c php_snmp_error(object, NULL TSRMLS_CC, PHP_SNMP_ERRNO_OID_PARSING_ERROR, "Invalid object identifier: %s", objid_query->vars[objid_query->offset].oid); objid_query 1111 ext/snmp/snmp.c efree(objid_query->vars); objid_query 1116 ext/snmp/snmp.c objid_query->offset = 0; objid_query 1117 ext/snmp/snmp.c objid_query->step = objid_query->count; objid_query 1118 ext/snmp/snmp.c return (objid_query->count > 0); objid_query 1433 ext/snmp/snmp.c struct objid_query objid_query; objid_query 1439 ext/snmp/snmp.c objid_query.max_repetitions = -1; objid_query 1440 ext/snmp/snmp.c objid_query.non_repeaters = 0; objid_query 1441 ext/snmp/snmp.c objid_query.valueretrieval = SNMP_G(valueretrieval); objid_query 1442 ext/snmp/snmp.c objid_query.oid_increasing_check = TRUE; objid_query 1482 ext/snmp/snmp.c if (zend_parse_parameters(argc TSRMLS_CC, "Z|bll", &oid, &suffix_keys, &(objid_query.max_repetitions), &(objid_query.non_repeaters)) == FAILURE) { objid_query 1504 ext/snmp/snmp.c if (!php_snmp_parse_oid(getThis(), st, &objid_query, oid, type, value TSRMLS_CC)) { objid_query 1510 ext/snmp/snmp.c efree(objid_query.vars); objid_query 1515 ext/snmp/snmp.c efree(objid_query.vars); objid_query 1526 ext/snmp/snmp.c efree(objid_query.vars); objid_query 1531 ext/snmp/snmp.c objid_query.step = snmp_object->max_oids; objid_query 1532 ext/snmp/snmp.c if (objid_query.max_repetitions < 0) { /* unspecified in function call, use session-wise */ objid_query 1533 ext/snmp/snmp.c objid_query.max_repetitions = snmp_object->max_oids; objid_query 1536 ext/snmp/snmp.c objid_query.oid_increasing_check = snmp_object->oid_increasing_check; objid_query 1537 ext/snmp/snmp.c objid_query.valueretrieval = snmp_object->valueretrieval; objid_query 1546 ext/snmp/snmp.c if (objid_query.max_repetitions < 0) { objid_query 1547 ext/snmp/snmp.c objid_query.max_repetitions = 20; /* provide correct default value */ objid_query 1550 ext/snmp/snmp.c php_snmp_internal(INTERNAL_FUNCTION_PARAM_PASSTHRU, st, session, &objid_query); objid_query 1552 ext/snmp/snmp.c efree(objid_query.vars);