/** * Get an int32 from the server. */ TDS_INT tds_get_int(TDSSOCKET * tds) { unsigned char bytes[4]; tds_get_n(tds, bytes, 4); #if WORDS_BIGENDIAN if (tds->emul_little_endian) return (TDS_INT) TDS_GET_A4LE(bytes); #endif return (TDS_INT) TDS_GET_A4(bytes); }
/** * Get an int32 from the server. * \tds */ TDS_UINT tds_get_uint(TDSSOCKET * tds) { TDS_UINT bytes; tds_get_n(tds, &bytes, 4); #if WORDS_BIGENDIAN if (tds->conn->emul_little_endian) return TDS_GET_A4LE(&bytes); #endif return TDS_GET_A4(&bytes); }
TDS_INT8 tds_get_int8(TDSSOCKET * tds) { TDS_INT h; TDS_UINT l; unsigned char bytes[8]; tds_get_n(tds, bytes, 8); #if WORDS_BIGENDIAN if (tds->emul_little_endian) { l = TDS_GET_A4LE(bytes); h = (TDS_INT) TDS_GET_A4LE(bytes+4); } else { h = (TDS_INT) TDS_GET_A4(bytes); l = TDS_GET_A4(bytes+4); } #else l = TDS_GET_A4(bytes); h = (TDS_INT) TDS_GET_A4(bytes+4); #endif return (((TDS_INT8) h) << 32) | l; }
/** * Get an uint64 from the server. * \tds */ TDS_UINT8 tds_get_uint8(TDSSOCKET * tds) { TDS_UINT h; TDS_UINT l; TDS_UINT bytes[2]; tds_get_n(tds, bytes, 8); #if WORDS_BIGENDIAN if (tds->conn->emul_little_endian) { l = TDS_GET_A4LE(bytes); h = TDS_GET_A4LE(bytes+1); } else { h = TDS_GET_A4(bytes); l = TDS_GET_A4(bytes+1); } #else l = TDS_GET_A4(bytes); h = TDS_GET_A4(bytes+1); #endif return (((TDS_UINT8) h) << 32) | l; }