SÖZDIZIMI Yan Tümcesi
OBJECT-TYPE makro, MIB nesnesinin verilerini ve türünü tanımlayan bir SYNTAX yan tümcesi içerir. SNMP Sağlayıcısı SÖZ DIZIMI yan tümcelerini eşlemek için genel kuralları gözlemlese de, sağlayıcı çeşitli veri türlerine özgü kuralları da izler.
Not
Sağlayıcıyı yükleme hakkında daha fazla bilgi için bkz. WMI SNMP Ortamıayarlama.
Aşağıdaki eşleme kuralları aşağıdaki tabloda açıklanan tüm veri türleri için geçerlidir:
- SÖZ DIZIM yan tümcesinin metinsel gösterimi, textual_conventionCIM özellik niteleyicisi ile eşler.
- SÖZ DIZIM yan tümcesindeki adlandırılmış tür tanımı, object_syntaxCIM özellik niteleyicisi ile eşler. Bu eşleme, veri türüne bağlı olarak farklılık gösterir. Daha fazla bilgi için eşleme açıklamalarına bakın.
- SNMPv1 ve SNMPv2C protokol çerçevelerini kodlamak için kullanılan SNMP türü CIM özellik niteleyicisine eşler kodlama.
- Cimtype cimtype CIM özellik niteleyicisi, temel alınan CIM protokol değerini biçimlendiren metinsel gösterimi içerir.
Aşağıdaki tabloda, sağlayıcı eşleme davranışını yöneten belirli kurallara sahip veri türleri listelenmiştir.
SNMP veri türü | Açıklama |
---|---|
Temel tür | Yönetim Bilgilerinin Yapısı (SMI) belgelerinde tanımlanan temel veri türlerinden biri RFC 1213 ve RFC 1903. |
Metin kuralı | SNMPv2C TEXTUAL-CONVENTION makrosunun açık kullanımıyla oluşturulan veya adlandırılmış bir türün kullanımıyla oluşturulan tür tanımı. Metin kuralı, var olan bir veri türüne bir ad ve bazı durumlarda bir değer aralığı atar. |
Adlandırılmış tür | İlkel türe, metin kuralına veya kısıtlanmış türe adlandırılmış başvuru. |
Kısıtlanmış tür | RFC 1213 ve RFC 1903 SMI belgelerinde tanımlanan bazı alt yazma mekanizmaları tarafından kısıtlanmış ilkel tür, adlandırılmış tür veya metin kuralı. |
İlkel Tür
İlkel tür, Rfc 1213 ve RFC 1903 Yönetim Bilgilerinin Yapısı (SMI) belgelerinde tanımlanan temel veri türlerinden biridir. SNMP ilkel türleri CIM tanımlı türlere eşler. Aşağıdaki tabloda, SÖZ DIZIMI yan tümcesi SNMPv1 için ilkel bir türe açıkça başvurduğunda oluşan eşleme listelenir. textual_convention, kodlamave object_syntax niteleyicileri her zaman MIB türüyle aynıdır ve varsayılan değer her zaman NULL olur.
MIB türü | CIM değişken türü | cimtype değeri |
---|---|---|
TAM SAYI | VT_I4 | sint32 |
OCTETSTRING | VT_BSTR | dize |
OBJECTIDENTIFIER | VT_BSTR | dize |
SIFIR | VT_NULL | Desteklenmiyor |
IpAddress | VT_BSTR | dize |
Sayaç | VT_I4 | uint32 |
Ölçer | VT_I4 | uint32 |
TimeTicks | VT_I4 | uint32 |
Donuk | VT_BSTR | dize |
NetworkAddress | VT_BSTR | dize |
SÖZ DIZIMI yan tümcesi NULLaçıkça veya adlandırılmış tür ataması aracılığıyla başvurduğunda sağlayıcı OBJECT-TYPE makroyu yoksayar. Aşağıdaki tabloda, SÖZ DIZIMİ yan tümcesi SNMPv2 için ilkel bir türe açıkça başvurduğunda oluşan eşleme listelenir. textual_convention, kodlamave object_syntax niteleyicileri her zaman MIB türüyle aynıdır ve varsayılan değer her zaman NULL olur.
MIB türü | CIM değişken türü | cimtype değeri |
---|---|---|
TAM SAYI | VT_I4 | sint32 |
OCTET DIZESI | VT_BSTR | dize |
NESNE TANıMLAYıCıSı | VT_BSTR | dize |
IpAddress | VT_BSTR | dize |
Sayaç32 | VT_I4 | uint32 |
Ölçer32 | VT_I4 | uint32 |
İmzasız32 | VT_I4 | uint32 |
Tamsayı32 | VT_I4 | sint32 |
Sayaç64 | VT_BSTR | uint64 |
TimeTicks | VT_I4 | uint32 |
Donuk | VT_BSTR | dize |
Adlandırılmış Tür
SNMP adlı türler CIM tanımlı türlere eşler. SÖZ DIZIMİ yan tümcesi, bir temel türe başvurduğunda, metin kuralı veya tür ataması türetme yoluyla kısıtlanmış tür , hangi eşleme yordamlarının geçerli olduğunu belirlemek için bu türleri kullanın.
Tür atama kurallarının türetilmesiyle kısıtlanmış bir tür tanımıyla karşılaşırsanız:
- Daha fazla türetme yoluyla, TEXTUAL-CONVENTION Makro'nde listelenen metin kurallarından biriyle karşılaşırsanız, kısıtlanmış türler ve metin kuralları için eşleme kurallarını uygulayın.
- Aksi takdirde, ilkel tür tablolarından birinde listelenen ilkel türlerden biriyle karşılaşırsanız, ilkel türler ve kısıtlanmış türler için eşleme kurallarını uygulayın.
TEXTUAL_CONVENTION Makro'nde listelenen metin kurallarından biriyle karşılaşırsanız, metin kuralları için eşleme kurallarını uygulayın.
İlkel tür tablolarından birinde listelenen ilkel türlerden biriyle karşılaşırsanız, ilkel türler için eşleme kurallarını uygulayın.
Not
Yukarıda açıklanan eşlemeye uymayan özellik türlerini içeren sınıflar geçerli değildir. Bu durumda sağlayıcı, örnek alma işlevini yürütürken bir sınıf tanımının alınmasını istediğinde ve istediğinde bir hata döndürür.
Kısıtlanmış Tür
Kısıtlanmış tür, RFC 1213 ve RFC 1903 SMI belgelerinde tanımlanan bazı alt yazma mekanizmaları tarafından kısıtlanmış ilkel bir tür, adlandırılmış tür veya metin kuralıdır. Alt stil oluşturulurken, alt tür değerlerini belirtmek için ek CIM niteleyicileri gerekir. SÖZ DIZIMİ yan tümcesindeki adlandırılmış tür tanımı, cim özellik niteleyicisi ile tam object_syntax eşler, ancak alt türün kısıtlamaları dahil değildir.
Alt türlerde aşağıdaki biçimlerden herhangi biri kullanılabilir:
Numaralandırılmış TAMSAYı
CIM özellik niteleyicisi numaralandırma numaralandırılmış değerleri belirtir. Bu niteleyici, imzalı 32 bit tamsayı değerlerinin virgülle ayrılmış listesini içeren bir dize olarak temsil edilir. Aşağıdaki tabloda eşleme türleri listelenmiştir. Varsayılan değer her zaman NULL .
Kısıtlanmış MIB türü | CIM değişken türü | CIM niteleyicileri |
---|---|---|
Numaralandırılmış TAMSAYı | VT_BSTR |
textual_convention: enumeratedinteger kodlama: INTEGER cimtype: string |
BİT
CIM özellik niteleyicisi bitler numaralandırılmış değerleri belirtir. Bu niteleyici, imzalı 32 bit tamsayı değerlerinin virgülle ayrılmış listesini içeren bir dize olarak temsil edilir. Aşağıdaki tabloda eşleme türleri listelenmiştir. Varsayılan değer her zaman NULL .
Kısıtlanmış MIB türü | CIM değişken türü | CIM niteleyicileri |
---|---|---|
BİT | VT_ARRAY | VT_BSTR |
textual_convention: bitler kodlama: OCTETSTRING cimtype: string |
Değişken uzunluklu
SÖZ DIZIMİ yan tümcesi değişken uzunlukta OCTET STRING veya Opak olarak alt yazılan ilkel bir türe, adlandırılmış türe veya metin kuralına başvurduğunda, CIM özellik niteleyicisi variable_length tür tanımıyla ilişkili en düşük, en büyük ve sabit uzunluklu değerleri belirtir. Bu niteleyici, değişken uzunluklu değerlerin işaretsiz 32 bit tamsayılar olarak temsil edildiği aşağıdaki biçimde bir dize olarak uygulanır.
(((0.9) .. (0.9)) | (0.9))(, (((0.9) .. (0.9)) | (0.9)))*
Sabit uzunluklu
SÖZ DIZIMİ yan tümcesi sabit uzunlukta OCTET STRING veya Opak olarak alt yazılan ilkel bir türe, adlandırılmış türe veya metin kuralına başvurduğunda, CIM özellik niteleyicisi fixed_length sabit uzunluklu değeri belirtir. Bu niteleyici işaretsiz bir 32 bit tamsayı değeri olarak temsil edilir.
Aralık
SÖZ DIZIMİ yan tümcesi aralıklı veya sabit değerli TAMSAYı veya Ölçer olarak alt yazılan ilkel bir türe, adlandırılmış türe veya metin kuralına başvurduğunda, CIM özellik niteleyicisi variable_value tür tanımıyla ilişkili aralıklı ve sabit değerleri belirtir. Bu niteleyici, aralık ve sabit uzunluklu değerlerin işaretsiz 32 bit tamsayılar olarak temsil edildiği aşağıdaki biçimde bir dize olarak uygulanır.
(((0.9)..(0.9))|(0.9))(,(((0.9)..(0.9))|(0.9)))*
Örnek Kod
Aşağıdaki örnekte numaralandırılmış INTEGER alt türü açıklanmaktadır.
Status := INTEGER {
up(1),
down(2),
testing(3)
}
Bu örnek şu şekilde eşler:
enumeration("up(1),down(2),testing(3)")
Aşağıdaki kod örneği bir BITS alt türünü açıklar.
Status := BITS {
up(1),
down(2),
testing(3)
}
Aşağıdaki kod örneği şuna eşler:
bits("up(1),down(2),testing(3)")
Aşağıdaki kod örneği, değişken uzunluklu bir alt türü açıklar.
MySnmpOSIAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "*1x:/1x:"
STATUS current
DESCRIPTION
"Represents an OSI transport-address:
octets contents encoding
1 length of NSAP 'n' as an unsigned-integer
(either 0 or from 3 to 20)
2..(n+1) NSAP concrete binary representation
(n+2)..m TSEL string of (up to 64) octets
"
SYNTAX OCTET STRING (SIZE (1|4..85))
Bu örnek şu şekilde eşler:
display_hint("*1x:/1x:"),
encoding("OCTETSTRING"),
textual_convention("OCTETSTRING"),
variable_length ("1,4..85")
Aşağıdaki örnekte sabit uzunlukta bir alt tür açıklanmaktadır.
IPXADDRESS := OCTET STRING (SIZE (6))
Bu örnek şu şekilde eşler:
fixed_length(6)
Aşağıdaki örnekte bir aralık alt türü açıklanmaktadır.
Status := INTEGER (10..20|8)
Bu örnek şu şekilde eşler:
variable_value("10..20,8")