protocol.h
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:3k
- #ifndef AGENTX_PROTOCOL_H
- #define AGENTX_PROTOCOL_H
- config_belongs_in(agent_module)
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * Definitions for Agent Extensibility Protocol (RFC 2257)
- *
- */
- #define AGENTX_PORT 705
- #define AGENTX_SOCKET "/var/agentx/master"
- /*
- * AgentX versions
- */
- /*
- * Use values distinct from those used to represent SNMP versions
- */
- #define AGENTX_VERSION_BASE 192 /* Binary: 11xxxxxx */
- #define AGENTX_VERSION_1 (AGENTX_VERSION_BASE | 0x1)
- #define IS_AGENTX_VERSION(v) (((v)&AGENTX_VERSION_BASE) == AGENTX_VERSION_BASE)
- /*
- * PDU types in AgentX
- */
- #define AGENTX_MSG_OPEN ((u_char)1)
- #define AGENTX_MSG_CLOSE ((u_char)2)
- #define AGENTX_MSG_REGISTER ((u_char)3)
- #define AGENTX_MSG_UNREGISTER ((u_char)4)
- #define AGENTX_MSG_GET ((u_char)5)
- #define AGENTX_MSG_GETNEXT ((u_char)6)
- #define AGENTX_MSG_GETBULK ((u_char)7)
- #define AGENTX_MSG_TESTSET ((u_char)8)
- #define AGENTX_MSG_COMMITSET ((u_char)9)
- #define AGENTX_MSG_UNDOSET ((u_char)10)
- #define AGENTX_MSG_CLEANUPSET ((u_char)11)
- #define AGENTX_MSG_NOTIFY ((u_char)12)
- #define AGENTX_MSG_PING ((u_char)13)
- #define AGENTX_MSG_INDEX_ALLOCATE ((u_char)14)
- #define AGENTX_MSG_INDEX_DEALLOCATE ((u_char)15)
- #define AGENTX_MSG_ADD_AGENT_CAPS ((u_char)16)
- #define AGENTX_MSG_REMOVE_AGENT_CAPS ((u_char)17)
- #define AGENTX_MSG_RESPONSE ((u_char)18)
- /*
- * Error codes from RFC 2257
- */
- #define AGENTX_ERR_OPEN_FAILED (256)
- #define AGENTX_ERR_NOT_OPEN (257)
- #define AGENTX_ERR_INDEX_WRONG_TYPE (258)
- #define AGENTX_ERR_INDEX_ALREADY_ALLOCATED (259)
- #define AGENTX_ERR_INDEX_NONE_AVAILABLE (260)
- #define AGENTX_ERR_INDEX_NOT_ALLOCATED (261)
- #define AGENTX_ERR_UNSUPPORTED_CONTEXT (262)
- #define AGENTX_ERR_DUPLICATE_REGISTRATION (263)
- #define AGENTX_ERR_UNKNOWN_REGISTRATION (264)
- #define AGENTX_ERR_UNKNOWN_AGENTCAPS (265)
- /*
- * added in 1999 revision
- */
- #define AGENTX_ERR_NOERROR SNMP_ERR_NOERROR
- #define AGENTX_ERR_PARSE_FAILED (266)
- #define AGENTX_ERR_REQUEST_DENIED (267)
- #define AGENTX_ERR_PROCESSING_ERROR (268)
- /*
- * Message processing models
- */
- #define AGENTX_MP_MODEL_AGENTXv1 (257)
- /*
- * PDU Flags - see also 'UCD_MSG_FLAG_xxx' in snmp.h
- */
- #define AGENTX_MSG_FLAG_INSTANCE_REGISTER 0x01
- #define AGENTX_MSG_FLAG_NEW_INSTANCE 0x02
- #define AGENTX_MSG_FLAG_ANY_INSTANCE 0x04
- #define AGENTX_MSG_FLAG_NON_DEFAULT_CONTEXT 0x08
- #define AGENTX_MSG_FLAG_NETWORK_BYTE_ORDER 0x10
- #define AGENTX_MSG_FLAGS_MASK 0xff
- /*
- * Session Flags - see also 'UCD_FLAGS_xxx' in snmp.h
- */
- #define AGENTX_FLAGS_NETWORK_BYTE_ORDER AGENTX_MSG_FLAG_NETWORK_BYTE_ORDER
- int agentx_build(netsnmp_session *, netsnmp_pdu *,
- u_char *, size_t *);
- int agentx_realloc_build(netsnmp_session * session,
- netsnmp_pdu *pdu, u_char ** buf,
- size_t * buf_len,
- size_t * out_len);
- int agentx_parse(netsnmp_session *, netsnmp_pdu *,
- u_char *, size_t);
- int agentx_check_packet(u_char *, size_t);
- #ifdef __cplusplus
- }
- #endif
- #endif /* AGENTX_PROTOCOL_H */