Пример #1
0
/**
 * 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);
}
Пример #2
0
/**
 * 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);
}
Пример #3
0
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;
}
Пример #4
0
/**
 * 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;
}