digraph "tds_convert_stream"
{
 // LATEX_PDF_SIZE
  bgcolor="transparent";
  edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10];
  node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4];
  rankdir="RL";
  Node1 [id="Node000001",label="tds_convert_stream",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Reads and writes from a stream converting characters."];
  Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node2 [id="Node000002",label="read_and_convert",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#ga676c4dee6522815b16fdc8e448e43590",tooltip="For UTF-8 and similar, tds_iconv() may encounter a partial sequence when the chunk boundary is not al..."];
  Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node3 [id="Node000003",label="tds_get_char_data",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#ga8d214089b6e97fc0da5e0be09f216d73",tooltip="Fetch character data the wire."];
  Node3 -> Node4 [id="edge3_Node000003_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node4 [id="Node000004",label="tds_generic_get",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00263.html#abac4d689e0e31e80587f89247c6395a4",tooltip="Read a data from wire."];
  Node2 -> Node5 [id="edge4_Node000002_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node5 [id="Node000005",label="tds_get_string",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#ga90f080e6e9448feac15dee1370d66802",tooltip="Fetch a string from the wire."];
  Node5 -> Node6 [id="edge5_Node000005_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node6 [id="Node000006",label="tds_alloc_get_string",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gafb26aba5d935e40b87b95e21a5185848",tooltip="Reads a string from wire in a new allocated buffer."];
  Node5 -> Node48 [id="edge6_Node000005_Node000048",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node48 [id="Node000048",label="tds_dstr_get",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00591.html#ga017c427e9599c031be5c555cb32abe2c",tooltip="Reads a string from wire and put in a DSTR."];
  Node5 -> Node60 [id="edge7_Node000005_Node000060",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node60 [id="Node000060",label="tds_generic_put",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00263.html#a84e17808683ba2dd956e811a42e23176",tooltip="Write data to wire."];
  Node5 -> Node61 [id="edge8_Node000005_Node000061",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node61 [id="Node000061",label="tds_process_dynamic",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga5cfc0340d8d717e67f60037e029b2142",tooltip="tds_process_dynamic() finds the element of the dyns array for the id"];
  Node1 -> Node62 [id="edge9_Node000001_Node000062",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node62 [id="Node000062",label="tds_bcp_fread",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00254.html#a86ac92bd8a3c61a413d27150ec9bc202",tooltip="Read a data file, passing the data through iconv()."];
  Node62 -> Node63 [id="edge10_Node000062_Node000063",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node63 [id="Node000063",label="_bcp_read_hostfile",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#gaf5e43c6f2b4b1da8e998ebaf0287906f",tooltip=" "];
  Node63 -> Node33 [id="edge11_Node000063_Node000033",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node33 [id="Node000033",label="_bcp_exec_in",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00578.html#ga7370f1223f13510d6b33e98f2de09fb5",tooltip=" "];
  Node1 -> Node64 [id="edge12_Node000001_Node000064",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 [id="Node000064",label="tds_put_string",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#ga1fcaf8d488cc1390f106ce3ad0bf37b4",tooltip="Output a string to wire automatic translate string to unicode if needed."];
  Node64 -> Node65 [id="edge13_Node000064_Node000065",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node65 [id="Node000065",label="tds4_send_emulated_rpc",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga2d0a06c1a30dd2470dc7a788de21b080",tooltip="Send RPC as string query."];
  Node65 -> Node66 [id="edge14_Node000065_Node000066",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node66 [id="Node000066",label="tds_submit_rpc",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga5f071b94ad7889690762dc85646c74ab",tooltip="Calls a RPC from server."];
  Node64 -> Node68 [id="edge15_Node000064_Node000068",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node68 [id="Node000068",label="tds7_put_query_params",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga6e42b4a1d1d3898229ea2fe4afc2ecec",tooltip="Output params types and query (required by sp_prepare/sp_executesql/sp_prepexec)"];
  Node68 -> Node69 [id="edge16_Node000068_Node000069",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node69 [id="Node000069",label="tds71_submit_prepexec",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga08877c101704bebe4fa57e0849dc272d",tooltip="Creates a temporary stored procedure in the server and execute it."];
  Node68 -> Node70 [id="edge17_Node000068_Node000070",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node70 [id="Node000070",label="tds_submit_execdirect",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#gae603aed795a4c5bb26ab159a11256996",tooltip="Submit a prepared query with parameters."];
  Node68 -> Node71 [id="edge18_Node000068_Node000071",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node71 [id="Node000071",label="tds_submit_prepare",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga74eb08c3a1c85be8ac9db428842c8b9d",tooltip="Creates a temporary stored procedure in the server."];
  Node68 -> Node72 [id="edge19_Node000068_Node000072",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node72 [id="Node000072",label="tds_submit_query_params",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga95e0fccedc459a4404f496eec74a369a",tooltip="Sends a language string to the database server for processing."];
  Node64 -> Node78 [id="edge20_Node000064_Node000078",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node78 [id="Node000078",label="tds7_write_param_def\l_from_params",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga6513afd79629f7a928e1d3da9f56dee1",tooltip="Write string with parameters definition, useful for TDS7+."];
  Node78 -> Node72 [id="edge21_Node000078_Node000072",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node79 [id="edge22_Node000064_Node000079",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node79 [id="Node000079",label="tds7_write_param_def\l_from_query",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga24345856c16b15aa3e84459c2f551320",tooltip="Write string with parameters definition, useful for TDS7+."];
  Node79 -> Node69 [id="edge23_Node000079_Node000069",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node79 -> Node70 [id="edge24_Node000079_Node000070",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node79 -> Node71 [id="edge25_Node000079_Node000071",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node79 -> Node72 [id="edge26_Node000079_Node000072",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node60 [id="edge27_Node000064_Node000060",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node80 [id="edge28_Node000064_Node000080",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node80 [id="Node000080",label="tds_put_data_info",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#gafd74652c4722ddce4d642cc4209449d4",tooltip="Put data information to wire."];
  Node80 -> Node81 [id="edge29_Node000080_Node000081",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node81 [id="Node000081",label="tds5_put_params",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga4f1f0a4f77bc4ea1440dfdebc19a157c",tooltip="Send parameters to server."];
  Node81 -> Node70 [id="edge30_Node000081_Node000070",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node81 -> Node82 [id="edge31_Node000081_Node000082",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node82 [id="Node000082",label="tds_submit_execute",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga3e7b4793c6f799fbc6c174f673bb5b32",tooltip="Sends a previously prepared dynamic statement to the server."];
  Node81 -> Node72 [id="edge32_Node000081_Node000072",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node81 -> Node66 [id="edge33_Node000081_Node000066",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node80 -> Node69 [id="edge34_Node000080_Node000069",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node80 -> Node83 [id="edge35_Node000080_Node000083",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node83 [id="Node000083",label="tds7_send_execute",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga9f6f25dd405f45e75420e6e084bf2d85",tooltip="Send dynamic request on TDS 7+ to be executed."];
  Node83 -> Node82 [id="edge36_Node000083_Node000082",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node80 -> Node70 [id="edge37_Node000080_Node000070",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node80 -> Node72 [id="edge38_Node000080_Node000072",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node80 -> Node66 [id="edge39_Node000080_Node000066",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node84 [id="edge40_Node000064_Node000084",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node84 [id="Node000084",label="tds_put_param_as_string",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga0e2e7230c425e925402d7856ff5b4b18",tooltip="Send a parameter to server."];
  Node84 -> Node65 [id="edge41_Node000084_Node000065",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node84 -> Node85 [id="edge42_Node000084_Node000085",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node85 [id="Node000085",label="tds_send_emulated_execute",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga02c6ce3ff96369603a6ee4efee64caae",tooltip="Emulate prepared execute traslating to a normal language."];
  Node85 -> Node70 [id="edge43_Node000085_Node000070",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node85 -> Node82 [id="edge44_Node000085_Node000082",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node86 [id="edge45_Node000064_Node000086",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node86 [id="Node000086",label="tds_quote_and_put",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga26b26296d060dca75f6a43e9ac41e58d",tooltip="Send a string to server while quoting it."];
  Node86 -> Node84 [id="edge46_Node000086_Node000084",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node85 [id="edge47_Node000064_Node000085",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node87 [id="edge48_Node000064_Node000087",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node87 [id="Node000087",label="tds_start_query_head",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga9ad2e6defce530a8778791cce0166ccd",tooltip="Start query packet of a given type."];
  Node87 -> Node88 [id="edge49_Node000087_Node000088",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node88 [id="Node000088",label="tds_start_query",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga0da385231bfa3dc49377e1fb2bea2c07",tooltip="Start query packet of a given type."];
  Node88 -> Node69 [id="edge50_Node000088_Node000069",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node88 -> Node82 [id="edge51_Node000088_Node000082",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node88 -> Node71 [id="edge52_Node000088_Node000071",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node88 -> Node89 [id="edge53_Node000088_Node000089",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node89 [id="Node000089",label="tds_submit_unprepare",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#gaf573d8d4d2660c8c27770573fca05ff5",tooltip="Send a unprepare request for a prepared query."];
  Node87 -> Node70 [id="edge54_Node000087_Node000070",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node87 -> Node72 [id="edge55_Node000087_Node000072",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node87 -> Node66 [id="edge56_Node000087_Node000066",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node70 [id="edge57_Node000064_Node000070",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node82 [id="edge58_Node000064_Node000082",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node71 [id="edge59_Node000064_Node000071",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node72 [id="edge60_Node000064_Node000072",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node66 [id="edge61_Node000064_Node000066",dir="back",color="steelblue1",style="solid",tooltip=" "];
  Node64 -> Node89 [id="edge62_Node000064_Node000089",dir="back",color="steelblue1",style="solid",tooltip=" "];
}
