// Header file for SQL SNMP trap processing // #include #define SQLSNMP_SUCCESSFUL 0 #define SQLSNMP_UNSUPPORTED_TRAP 1 #define SQLSNMP_MEMORY_ERROR 2 #define SQLSNMP_NETWORK_NOT_STARTED 3 #define SQLSNMP_TIMEOUT_ON_EVENT 4 #define SQLSNMP_AGENT_NOT_STARTED 5 #define DATE_TIME_SIZE 11 // Number of characters representing Date and Time // Trap 1 struction definition // typedef struct trap1_info { DWORD dwError; // SQL error value DWORD dwSeverity; // SQL severity char * szDBname; // SQL database name (null terminated, max of 1024 characters) char * szServerName; // SQL server name (null terminated, max of 1024 characters) char * szErrorMessage; // SQL error message (null terminated, max of 1024 characters) char * szUserName; // SQL user name (null terminated, max of 1024 characters) char * szSuggestion; // Suggested action (null terminated, max of 1024 characters) BYTE DateAndTime[DATE_TIME_SIZE]; // DateAndTime in ASN 11 byte format } TRAP1_INFO; // SQLsnmpTraps( DWORD dwTrapRequest, void * pTrapStructure ) // // where dwTrapRequest = 0 -- Determine state of SQL SNMP Extension Agent, // (pTrapStructure should be NULL) // = 1 -- Process Trap1 structure. // // pTrapStructure = pointer to trap structure // // If the SQLsnmpTraps() succeeds, a value of zero will be returned. // Otherwise an error occurred. // Error values: // 1 = Unsupported dwTrapRequest value // 2 = Memory Error. // 3 = Network not started // 4 = TCP/IP not available // 5 = Agent service not started // // SQLsnmpTraps() will reside in the DLL named "SQLsnmp.dll" which will be // located in the ...\SQL60\DLL directory. // DWORD SQLsnmpTraps( DWORD dwTrapRequest, // Trap request value void * pTrapStructure ); // Structure as defined above