1#![cfg_attr(not(feature = "std"), no_std)]
36#![warn(missing_docs)]
37#![deny(unsafe_code)]
38
39#[cfg(feature = "alloc")]
40extern crate alloc;
41
42pub mod codec;
43pub mod crypto;
44pub mod error;
45pub mod login7;
46pub mod packet;
47pub mod prelogin;
48pub mod rpc;
49pub mod sql_batch;
50pub mod token;
51pub mod tvp;
52pub mod types;
53pub mod version;
54
55pub use error::ProtocolError;
56pub use login7::{
57 FeatureExtension, FeatureId, Login7, OptionFlags1, OptionFlags2, OptionFlags3, TypeFlags,
58};
59pub use packet::{
60 DEFAULT_PACKET_SIZE, MAX_PACKET_SIZE, PACKET_HEADER_SIZE, PacketHeader, PacketStatus,
61 PacketType,
62};
63pub use prelogin::{EncryptionLevel, PreLogin, PreLoginOption};
64pub use rpc::{ParamFlags, ProcId, RpcOptionFlags, RpcParam, RpcRequest, TypeInfo as RpcTypeInfo};
65pub use sql_batch::{SqlBatch, encode_sql_batch, encode_sql_batch_with_transaction};
66pub use token::{
67 ColMetaData, Collation, ColumnData, Done, DoneInProc, DoneProc, DoneStatus, EnvChange,
68 EnvChangeType, EnvChangeValue, FeatureExtAck, FedAuthInfo, LoginAck, NbcRow, Order, RawRow,
69 ReturnValue, ServerError, ServerInfo, SessionState, SspiToken, Token, TokenParser, TokenType,
70 TypeInfo,
71};
72pub use tvp::{
73 TVP_END_TOKEN, TVP_ROW_TOKEN, TVP_TYPE_ID, TvpColumnDef as TvpWireColumnDef, TvpColumnFlags,
74 TvpEncoder, TvpWireType, encode_tvp_bit, encode_tvp_date, encode_tvp_datetime2,
75 encode_tvp_datetimeoffset, encode_tvp_decimal, encode_tvp_float, encode_tvp_guid,
76 encode_tvp_int, encode_tvp_null, encode_tvp_nvarchar, encode_tvp_time, encode_tvp_varbinary,
77};
78pub use types::{ColumnFlags, TypeId, Updateable};
79pub use version::TdsVersion;
80
81pub use crypto::{
83 ALGORITHM_AEAD_AES_256_CBC_HMAC_SHA256, COLUMN_FLAG_ENCRYPTED, CekTable, CekTableEntry,
84 CekValue, ColumnCryptoInfo, CryptoMetadata, ENCRYPTION_TYPE_DETERMINISTIC,
85 ENCRYPTION_TYPE_RANDOMIZED, EncryptionTypeWire, NORMALIZATION_RULE_VERSION,
86 is_column_encrypted,
87};