% -*- slang -*- % This file provides a mode for editing ASN.1 MIBs. % % Written by Abraham vd Merwe % Basic syntax highligting, nothing else. % Last updated: 5 August 2002 variable mib = "mib"; !if (keymap_p (mib)) make_keymap (mib); % Now create and initialize a syntax table. create_syntax_table (mib); define_syntax ("--","",'%',mib); % comments define_syntax ("[({", "])}", '(',mib); % parentheses define_syntax ('"','"',mib); % strings define_syntax ('\\','\\',mib); % escape character define_syntax ("0-9a-zA-Z-",'w',mib); % identifiers define_syntax ("0-9a-fA-F.xXL",'0',mib); % numbers define_syntax (",;",',',mib); % delimiters define_syntax ("+*/%=.&|^~<>!?@:#",'+',mib); % operators set_syntax_flags (mib,0x04); variable k1 = 0; % keyword variable k2 = 1; % keyword1 variable k3 = 2; % keyword2 variable k4 = 3; % keyword3 % ASN.1 Reserved Words () = define_keywords_n (mib,"BYOF",2,k1); () = define_keywords_n (mib,"ALLBITENDMAXMINPDVSET",3,k1); () = define_keywords_n (mib,"FROMNULLREALSIZETAGSTRUEWITH",4,k1); () = define_keywords_n (mib,"BEGINCLASSFALSEOCTETUNION",5,k1); () = define_keywords_n (mib,"ABSENTCHOICEEXCEPTOBJECTSTRINGSYNTAXUNIQUE",6,k1); () = define_keywords_n (mib,"BOOLEANDEFAULTEXPORTSIMPLIEDIMPORTSINTEGERPRESENTPRIVATEUTCTime",7,k1); () = define_keywords_n (mib,"EMBEDDEDEXPLICITEXTERNALIMPLICITINCLUDESINSTANCEOPTIONALSEQUENCE",8,k1); () = define_keywords_n (mib,"AUTOMATICBMPStringCHARACTERCOMPONENTIA5StringT61StringUNIVERSAL",9,k1); () = define_keywords_n (mib,"COMPONENTSENUMERATEDIDENTIFIERUTF8String",10,k1); () = define_keywords_n (mib,"APPLICATIONCONSTRAINEDDEFINITIONS",11,k1); () = define_keywords_n (mib,"INTERSECTIONISO646String",12,k1); () = define_keywords_n (mib,"EXTENSIBILITYGeneralStringGraphicStringNumericStringPLUS-INFINITYTeletexStringVisibleString",13,k1); () = define_keywords_n (mib,"MINUS-INFINITYVideotexString",14,k1); () = define_keywords_n (mib,"ABSTRACT-SYNTAXGeneralizedTimePrintableStringTYPE-IDENTIFIERUniversalString",15,k1); () = define_keywords_n (mib,"ObjectDescriptor",16,k1); % ObjectID's () = define_keywords_n (mib,"dodisoorg",3,k2); () = define_keywords_n (mib,"mgmt",4,k2); () = define_keywords_n (mib,"mib-2",5,k2); () = define_keywords_n (mib,"snmpV2",6,k2); () = define_keywords_n (mib,"private",7,k2); () = define_keywords_n (mib,"internetsecurity",8,k2); () = define_keywords_n (mib,"directory",9,k2); () = define_keywords_n (mib,"snmpProxys",10,k2); () = define_keywords_n (mib,"enterprisessnmpDomainssnmpModuleszeroDotZero",11,k2); () = define_keywords_n (mib,"experimentalrfc1157Proxytransmission",12,k2); () = define_keywords_n (mib,"rfc1157DomainsnmpDDPDomainsnmpIPXDomainsnmpUDPDomain",13,k2); () = define_keywords_n (mib,"SnmpIPXAddressSnmpNBPAddressSnmpOSIAddressSnmpUDPAddresssnmpCLNSDomainsnmpCONSDomain",14,k2); % Types () = define_keywords_n (mib,"Opaque",6,k3); () = define_keywords_n (mib,"Gauge32TDomain",7,k3); () = define_keywords_n (mib,"TAddress",8,k3); () = define_keywords_n (mib,"Counter32Counter64Integer32IpAddressRowStatusTimeStampTimeTicks",9,k3); () = define_keywords_n (mib,"ExtUTCTimeMacAddressRowPointerTruthValueUnsigned32",10,k3); () = define_keywords_n (mib,"DateAndTimePhysAddressStorageTypeTestAndIncr",11,k3); () = define_keywords_n (mib,"TimeInterval",12,k3); () = define_keywords_n (mib,"DisplayString",13,k3); () = define_keywords_n (mib,"AutonomousType",14,k3); () = define_keywords_n (mib,"InstancePointerVariablePointer",15,k3); % Macros () = define_keywords_n (mib,"BITS",4,k4); () = define_keywords_n (mib,"INDEXUNITS",5,k4); () = define_keywords_n (mib,"DEFVALSTATUS",6,k4); () = define_keywords_n (mib,"OBJECTScurrent",7,k4); () = define_keywords_n (mib,"AUGMENTSREVISIONobsolete",8,k4); () = define_keywords_n (mib,"REFERENCEread-only",9,k4); () = define_keywords_n (mib,"MAX-ACCESSdeprecatedread-write",10,k4); () = define_keywords_n (mib,"DESCRIPTIONOBJECT-TYPEread-create",11,k4); () = define_keywords_n (mib,"CONTACT-INFODISPLAY-HINTLAST-UPDATEDORGANIZATION",12,k4); () = define_keywords_n (mib,"not-accessible",14,k4); () = define_keywords_n (mib,"MODULE-IDENTITYOBJECT-IDENTITY",15,k4); () = define_keywords_n (mib,"NOTIFICATION-TYPE",17,k4); () = define_keywords_n (mib,"TEXTUAL-CONVENTION",18,k4); () = define_keywords_n (mib,"accessible-for-notify",21,k4); % % The following keywords aren't ASN.1, but rather SNMPv2 definitions. % I got these keywords out of the SNMPv2-SMI, SNMPv2-TC, and SNMPv2-TM % MIBs. % define mib_mode () { variable kmap = mib; set_mode (kmap,4); use_keymap (kmap); use_syntax_table (kmap); }