nx_ types 是在nesC 1.2,tinyos中用到的platform independent types. 这个类型的数据可以适用任何平台。
To accomplish this goal, nesC 1.2 introduces platform independent types.(network types)
Platform independent simple types (integers) are either big-endian or little-endian, independently of the underlying chip hardware.
Generally, an external type is the same as a normal type except that it has nx preceding it
nx_types is that they were introduced to deal with what does a packet looks like on the wire. It deals with both the packing problem as well as endianess. The end result of nx_types must be by definition be platform independent, thats the whole point. The implementation must also be by definition be platform dependent because the intent is nx_types marry a given platform to network order so data packets can make sense across different machines and the right thing still happens.
platform independent structs, declared with nx struct
To accomplish this goal, nesC 1.2 introduces platform independent types.(network types)
Platform independent simple types (integers) are either big-endian or little-endian, independently of the underlying chip hardware.
Generally, an external type is the same as a normal type except that it has nx preceding it
nx_uint16_t val; // A big endian 16-bit value
nxle_uint32_t otherVal; // A little endian 32-bit value
nx_types is that they were introduced to deal with what does a packet looks like on the wire. It deals with both the packing problem as well as endianess. The end result of nx_types must be by definition be platform independent, thats the whole point. The implementation must also be by definition be platform dependent because the intent is nx_types marry a given platform to network order so data packets can make sense across different machines and the right thing still happens.
platform independent structs, declared with nx struct