Skip to content

Commit 9bd5b70

Browse files
committed
update definitions for SNMP functions, use alternate syntax, add test
1 parent adcf294 commit 9bd5b70

File tree

2 files changed

+54
-27
lines changed

2 files changed

+54
-27
lines changed

resources/functionMap.php

Lines changed: 36 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -10535,39 +10535,48 @@
1053510535
'sinh' => ['float', 'number'=>'float'],
1053610536
'sizeof' => ['int', 'var'=>'Countable|array', 'mode='=>'int'],
1053710537
'sleep' => ['int|false', 'seconds'=>'int'],
10538-
'snmp2_get' => ['string|false', 'host'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10539-
'snmp2_getnext' => ['string|false', 'host'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10540-
'snmp2_real_walk' => ['array|false', 'host'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10541-
'snmp2_set' => ['bool', 'host'=>'string', 'community'=>'string', 'object_id'=>'string', 'type'=>'string', 'value'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10542-
'snmp2_walk' => ['array|false', 'host'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10543-
'snmp3_get' => ['string|false', 'host'=>'string', 'sec_name'=>'string', 'sec_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'priv_protocol'=>'string', 'priv_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10544-
'snmp3_getnext' => ['string|false', 'host'=>'string', 'sec_name'=>'string', 'sec_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'priv_protocol'=>'string', 'priv_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10545-
'snmp3_real_walk' => ['array|false', 'host'=>'string', 'sec_name'=>'string', 'sec_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'priv_protocol'=>'string', 'priv_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10546-
'snmp3_set' => ['bool', 'host'=>'string', 'sec_name'=>'string', 'sec_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'priv_protocol'=>'string', 'priv_passphrase'=>'string', 'object_id'=>'string', 'type'=>'string', 'value'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10547-
'snmp3_walk' => ['array|false', 'host'=>'string', 'sec_name'=>'string', 'sec_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'priv_protocol'=>'string', 'priv_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10548-
'SNMP::__construct' => ['void', 'version'=>'int', 'hostname'=>'string', 'community'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10538+
'snmp2_get' => ['string|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10539+
'snmp2_get\'1' => ['array<string,string>|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-array<array-key,non-empty-string>', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10540+
'snmp2_getnext' => ['string|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10541+
'snmp2_real_walk' => ['array<string,string>|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10542+
'snmp2_set' => ['bool', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'type'=>'string', 'value'=>'string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10543+
'snmp2_set\'1' => ['bool', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-array<array-key,non-empty-string>', 'type'=>'string|non-empty-array<array-key,non-empty-string>', 'value'=>'non-empty-array<array-key,non-empty-string>', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10544+
'snmp2_walk' => ['array|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10545+
'snmp3_get' => ['string|false', 'hostname'=>'string', 'sec_name'=>'string', 'sec_level'=>'\'authPriv\'|\'authNoPriv\'|\'noAuthNoPriv\'', 'auth_protocol'=>'\'SHA\'|\'SHA256\'|\'SHA512\'|\'MD5\'', 'auth_passphrase'=>'string', 'priv_protocol'=>'\'AES\'|\'AES128\'|\'DES\'', 'priv_passphrase'=>'string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10546+
'snmp3_get\'1' => ['array<string,string>|false', 'hostname'=>'string', 'sec_name'=>'string', 'sec_level'=>'\'authPriv\'|\'authNoPriv\'|\'noAuthNoPriv\'', 'auth_protocol'=>'\'SHA\'|\'SHA256\'|\'SHA512\'|\'MD5\'', 'auth_passphrase'=>'string', 'priv_protocol'=>'\'AES\'|\'AES128\'|\'DES\'', 'priv_passphrase'=>'string', 'object_id'=>'non-empty-array<array-key,non-empty-string>', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10547+
'snmp3_getnext' => ['string|false', 'hostname'=>'string', 'sec_name'=>'string', 'sec_level'=>'\'authPriv\'|\'authNoPriv\'|\'noAuthNoPriv\'', 'auth_protocol'=>'\'SHA\'|\'SHA256\'|\'SHA512\'|\'MD5\'', 'auth_passphrase'=>'string', 'priv_protocol'=>'\'AES\'|\'AES128\'|\'DES\'', 'priv_passphrase'=>'string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10548+
'snmp3_real_walk' => ['array|false', 'hostname'=>'string', 'sec_name'=>'string', 'sec_level'=>'\'authPriv\'|\'authNoPriv\'|\'noAuthNoPriv\'', 'auth_protocol'=>'\'SHA\'|\'SHA256\'|\'SHA512\'|\'MD5\'', 'auth_passphrase'=>'string', 'priv_protocol'=>'\'AES\'|\'AES128\'|\'DES\'', 'priv_passphrase'=>'string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10549+
'snmp3_set' => ['bool', 'hostname'=>'string', 'sec_name'=>'string', 'sec_level'=>'\'authPriv\'|\'authNoPriv\'|\'noAuthNoPriv\'', 'auth_protocol'=>'\'SHA\'|\'SHA256\'|\'SHA512\'|\'MD5\'', 'auth_passphrase'=>'string', 'priv_protocol'=>'\'AES\'|\'AES128\'|\'DES\'', 'priv_passphrase'=>'string', 'object_id'=>'non-empty-string', 'type'=>'string', 'value'=>'string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10550+
'snmp3_set\'1' => ['bool', 'hostname'=>'string', 'sec_name'=>'string', 'sec_level'=>'\'authPriv\'|\'authNoPriv\'|\'noAuthNoPriv\'', 'auth_protocol'=>'\'SHA\'|\'SHA256\'|\'SHA512\'|\'MD5\'', 'auth_passphrase'=>'string', 'priv_protocol'=>'\'AES\'|\'AES128\'|\'DES\'', 'priv_passphrase'=>'string', 'object_id'=>'array<array-key,non-empty-string>', 'type'=>'string|non-empty-array<array-key,non-empty-string>', 'value'=>'non-empty-array<int,string>', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10551+
'snmp3_walk' => ['array|false', 'hostname'=>'string', 'sec_name'=>'string', 'sec_level'=>'\'authPriv\'|\'authNoPriv\'|\'noAuthNoPriv\'', 'auth_protocol'=>'\'SHA\'|\'SHA256\'|\'SHA512\'|\'MD5\'', 'auth_passphrase'=>'string', 'priv_protocol'=>'\'AES\'|\'AES128\'|\'DES\'', 'priv_passphrase'=>'string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10552+
'SNMP::__construct' => ['void', 'version'=>'int', 'hostname'=>'string', 'community'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
1054910553
'SNMP::close' => ['bool'],
10550-
'SNMP::get' => ['($objectId is array ? array<string,string> : string)|false', 'objectId'=>'string|string[]', 'preserveKeys='=>'bool'],
10554+
'SNMP::get' => ['array<string,string>|false', 'objectId'=>'string[]', 'preserveKeys='=>'bool'],
10555+
'SNMP::get\'1' => ['string|false', 'objectId'=>'string', 'preserveKeys='=>'bool'],
1055110556
'SNMP::getErrno' => ['int'],
1055210557
'SNMP::getError' => ['string'],
10553-
'SNMP::getnext' => ['($objectId is array ? array<string,string> : string)|false', 'objectId'=>'string|string[]'],
10554-
'SNMP::set' => ['bool', 'objectId'=>'string|string[]', 'type'=>'($objectId is array ? string[]|string : string)', 'value'=>'($objectId is array ? mixed[] : string)'],
10555-
'SNMP::setSecurity' => ['bool', 'securityLevel'=>'string', 'authProtocol='=>'string', 'authPassphrase='=>'string', 'privacyProtocol='=>'string', 'privacyPassphrase='=>'string', 'contextName='=>'string', 'contextEngineId='=>'string'],
10556-
'SNMP::walk' => ['array|false', 'objectId'=>'string', 'suffixAsKey='=>'bool', 'maxRepetitions='=>'int', 'nonRepeaters='=>'int'],
10558+
'SNMP::getnext' => ['array<string,string>|false', 'objectId'=>'string[]'],
10559+
'SNMP::getnext\'1' => ['string|false', 'objectId'=>'string'],
10560+
'SNMP::set' => ['bool', 'objectId'=>'string[]', 'type'=>'string[]|string', 'value'=>'mixed[]'],
10561+
'SNMP::set\'1' => ['bool', 'objectId'=>'string', 'type'=>'string', 'value'=>'string'],
10562+
'SNMP::setSecurity' => ['bool', 'securityLevel'=>'\'authPriv\'|\'authNoPriv\'|\'noAuthNoPriv\'', 'authProtocol='=>'\'SHA\'|\'SHA256\'|\'SHA512\'|\'MD5\'', 'authPassphrase='=>'string', 'privacyProtocol='=>'\'AES\'|\'AES128\'|\'DES\'', 'privacyPassphrase='=>'string', 'contextName='=>'string', 'contextEngineId='=>'string'],
10563+
'SNMP::walk' => ['array|false', 'objectId'=>'string', 'suffixAsKey='=>'bool', 'maxRepetitions='=>'int<-1,max>', 'nonRepeaters='=>'int<-1,max>'],
1055710564
'snmp_get_quick_print' => ['bool'],
1055810565
'snmp_get_valueretrieval' => ['int'],
1055910566
'snmp_read_mib' => ['bool', 'filename'=>'string'],
10560-
'snmp_set_enum_print' => ['bool', 'enum_print'=>'int'],
10561-
'snmp_set_oid_numeric_print' => ['void', 'oid_format'=>'int'],
10562-
'snmp_set_oid_output_format' => ['bool', 'oid_format'=>'int'],
10563-
'snmp_set_quick_print' => ['bool', 'quick_print'=>'int'],
10564-
'snmp_set_valueretrieval' => ['bool', 'method='=>'int'],
10565-
'snmpget' => ['string|false', 'host'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10566-
'snmpgetnext' => ['string|false', 'host'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10567-
'snmprealwalk' => ['array|false', 'host'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10568-
'snmpset' => ['bool', 'host'=>'string', 'community'=>'string', 'object_id'=>'string', 'type'=>'string', 'value'=>'mixed', 'timeout='=>'int', 'retries='=>'int'],
10569-
'snmpwalk' => ['array|false', 'host'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10570-
'snmpwalkoid' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'],
10567+
'snmp_set_enum_print' => ['true', 'enable'=>'bool'],
10568+
'snmp_set_oid_numeric_print' => ['true', 'format'=>'int'],
10569+
'snmp_set_oid_output_format' => ['true', 'format'=>'int'],
10570+
'snmp_set_quick_print' => ['true', 'enable'=>'bool'],
10571+
'snmp_set_valueretrieval' => ['true', 'method='=>'int'],
10572+
'snmpget' => ['string|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10573+
'snmpget\'1' => ['array<string,string>|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-array<array-key,non-empty-string>', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10574+
'snmpgetnext' => ['string|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10575+
'snmprealwalk' => ['array<string,string>|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10576+
'snmpset' => ['bool', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'type'=>'string', 'value'=>'string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10577+
'snmpset\'1' => ['bool', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-array<array-key,non-empty-string>', 'type'=>'string|non-empty-array<array-key,non-empty-string>', 'value'=>'non-empty-array<array-key,non-empty-string>', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10578+
'snmpwalk' => ['array<string,string>|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
10579+
'snmpwalkoid' => ['array<string,string>|false', 'hostname'=>'string', 'community'=>'non-empty-string', 'object_id'=>'non-empty-string', 'timeout='=>'int<-1,max>', 'retries='=>'int<-1,max>'],
1057110580
'SoapClient::__call' => ['mixed', 'function_name'=>'string', 'arguments'=>'array'],
1057210581
'SoapClient::__construct' => ['void', 'wsdl'=>'mixed', 'options='=>'array|null'],
1057310582
'SoapClient::__doRequest' => ['string|null', 'request'=>'string', 'location'=>'string', 'action'=>'string', 'version'=>'int', 'one_way='=>'int'],
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace SnmpSet;
4+
5+
use SNMP;
6+
use function PHPStan\Testing\assertType;
7+
8+
class Foo
9+
{
10+
public function testSnmpGet(SNMP $snmp)
11+
{
12+
$result = $snmp->get('SNMPv2-MIB::sysContact.0');
13+
assertType('string|false', $result);
14+
15+
$result = $snmp->get(['SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysDescr.0']);
16+
assertType('array<string, string>|false', $result);
17+
}
18+
}

0 commit comments

Comments
 (0)