Hi, I am running an SNMP subagent using agentX protocol and all MIB values of type Counter64 as shown in big_endian order even though my desktop is Intel (little endian).
The basic problem arises because Counter64 is not a direct data type rather its a struct {high, low} and the value is stored using memmove which copies the LSB into high. Sample code is below: int64_t a = 99; snmp_set_var_typed_value (..ASN_COUNTER64, & a); If I explicitly set is as below, it works. But doing this for many variables and explicitly copying to high/low is cumbersome. struct counter64 a = {0, 99}; snmp_set_var_typed_value (..ASN_COUNTER64, & a); Is there a way we can use int64_t and get little endian? P.S. During my search, I did come across code handling Endianess based on session.flags (AGENTX_MSG_FLAG_NETWORK_BYTE_ORDER) but snmp_pdu_create doesn't set those flags. -- Thanks, Regards, Chaitanya T K. _______________________________________________ Net-snmp-coders mailing list Net-snmp-coders@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/net-snmp-coders