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);