digraph "bcp_init"
{
 // 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="LR";
  Node1 [id="Node000001",label="bcp_init",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Prepare for bulk copy operation on a table."];
  Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
  Node2 [id="Node000002",label="_bcp_free_storage",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#gaa134c1c3ccc4326e693adb8357272f1d",tooltip=" "];
  Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "];
  Node3 [id="Node000003",label="_bcp_free_columns",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#gacf69ac4cbe8e3c3e6ea665e31e5e85b8",tooltip=" "];
  Node1 -> Node4 [id="edge3_Node000001_Node000004",color="steelblue1",style="solid",tooltip=" "];
  Node4 [id="Node000004",label="dbperror",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00581.html#ga302a4ce6559b81808e3be51615cd1b67",tooltip="Call client-installed error handler."];
  Node4 -> Node5 [id="edge4_Node000004_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node5 [id="Node000005",label="tds_dstr_cstr",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00593.html#gac536f0e4d77d3cff5702719362ec1766",tooltip="Returns a C version (NUL terminated string) of dstr."];
  Node4 -> Node6 [id="edge5_Node000004_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node6 [id="Node000006",label="tds_dstr_isempty",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00593.html#ga197c6af67f2e7469d06c2aa055917b1e",tooltip="test if string is empty"];
  Node1 -> Node7 [id="edge6_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node7 [id="Node000007",label="tds_bcp_init",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00254.html#ac6610c72bd31bad5378f760fa9b12d66",tooltip="Initialize BCP information."];
  Node7 -> Node5 [id="edge7_Node000007_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node7 -> Node8 [id="edge8_Node000007_Node000008",color="steelblue1",style="solid",tooltip=" "];
  Node8 [id="Node000008",label="tds_dstr_dup",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00593.html#ga4e6d9fa6f9b9551a5a3390e10a5322e6",tooltip="Duplicate a string from another dynamic string."];
  Node8 -> Node9 [id="edge9_Node000008_Node000009",color="steelblue1",style="solid",tooltip=" "];
  Node9 [id="Node000009",label="tds_dstr_copyn",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00593.html#ga656718f240d7403f986ae887d84a6ca1",tooltip="Set string to a given buffer of characters."];
  Node7 -> Node10 [id="edge10_Node000007_Node000010",color="steelblue1",style="solid",tooltip=" "];
  Node10 [id="Node000010",label="tds_process_tokens",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#gabfc9de1d1fe718818caf63a4be4035a6",tooltip="process all streams."];
  Node10 -> Node11 [id="edge11_Node000010_Node000011",color="steelblue1",style="solid",tooltip=" "];
  Node11 [id="Node000011",label="tds5_process_dyn_result2",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gae688b515631141acfbc41bbb91c8b921",tooltip="Process new TDS 5.0 token for describing output parameters."];
  Node11 -> Node5 [id="edge12_Node000011_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node11 -> Node35 [id="edge13_Node000011_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node35 [id="Node000035",label="tds_get_byte",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00591.html#ga0cb72d3f6943795c39db1fa692be0a58",tooltip="Return a single byte from the input buffer."];
  Node10 -> Node38 [id="edge14_Node000010_Node000038",color="steelblue1",style="solid",tooltip=" "];
  Node38 [id="Node000038",label="tds5_process_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga547b2f48659f77a69aa802d861ac827d",tooltip="tds5_process_result() is the TDS 5.0 result set processing routine."];
  Node38 -> Node35 [id="edge15_Node000038_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node41 [id="edge16_Node000010_Node000041",color="steelblue1",style="solid",tooltip=" "];
  Node41 [id="Node000041",label="tds5_process_result2",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gabe2bdd5a41ce067cb31aef18ff81cb1c",tooltip="tds5_process_result2() is the new TDS 5.0 result set processing routine."];
  Node41 -> Node5 [id="edge17_Node000041_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node41 -> Node8 [id="edge18_Node000041_Node000008",color="steelblue1",style="solid",tooltip=" "];
  Node41 -> Node6 [id="edge19_Node000041_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node41 -> Node35 [id="edge20_Node000041_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node42 [id="edge21_Node000010_Node000042",color="steelblue1",style="solid",tooltip=" "];
  Node42 [id="Node000042",label="tds7_process_compute\l_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga6728e344caa20aea1def85f58dea138b",tooltip="tds7_process_compute_result() processes compute result sets for TDS 7/8."];
  Node42 -> Node44 [id="edge22_Node000042_Node000044",color="steelblue1",style="solid",tooltip=" "];
  Node44 [id="Node000044",label="tds_dstr_copy",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00593.html#gad96366d9fa93bfc283cef1299fbe97ab",tooltip="copy a string from another"];
  Node44 -> Node9 [id="edge23_Node000044_Node000009",color="steelblue1",style="solid",tooltip=" "];
  Node42 -> Node6 [id="edge24_Node000042_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node42 -> Node35 [id="edge25_Node000042_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node46 [id="edge26_Node000010_Node000046",color="steelblue1",style="solid",tooltip=" "];
  Node46 [id="Node000046",label="tds7_process_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gaca56fc22d65a24a96d1bef310ade73aa",tooltip="tds7_process_result() is the TDS 7.0 result set processing routine."];
  Node46 -> Node5 [id="edge27_Node000046_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node24 [id="edge28_Node000010_Node000024",color="steelblue1",style="solid",tooltip=" "];
  Node24 [id="Node000024",label="tds_close_socket",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#ga3e3f76009fce5ceedb2f42bb2c9aed2e",tooltip="Close current socket."];
  Node10 -> Node35 [id="edge29_Node000010_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node47 [id="edge30_Node000010_Node000047",color="steelblue1",style="solid",tooltip=" "];
  Node47 [id="Node000047",label="tds_peek",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#ga221e98a9c8be96ec6c8547891e1b53af",tooltip="Reads a byte from the TDS stream without removing it."];
  Node47 -> Node35 [id="edge31_Node000047_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node48 [id="edge32_Node000010_Node000048",color="steelblue1",style="solid",tooltip=" "];
  Node48 [id="Node000048",label="tds_process_col_fmt",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga4e3dd9d3614f5f0433b78b761dd68741",tooltip="tds_process_col_fmt() is the other half of result set processing under TDS 4.2."];
  Node10 -> Node49 [id="edge33_Node000010_Node000049",color="steelblue1",style="solid",tooltip=" "];
  Node49 [id="Node000049",label="tds_process_col_name",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga905d2fa5e1b602817bd16bb0fcf9eadb",tooltip="tds_process_col_name() is one half of the result set under TDS 4.2 it contains all the column names,..."];
  Node49 -> Node44 [id="edge34_Node000049_Node000044",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node53 [id="edge35_Node000010_Node000053",color="steelblue1",style="solid",tooltip=" "];
  Node53 [id="Node000053",label="tds_process_compute",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#ga6fcb37d5addebdc1af9f34ebc59fd7a8",tooltip="tds_process_compute() processes compute rows and places them in the row buffer."];
  Node10 -> Node54 [id="edge36_Node000010_Node000054",color="steelblue1",style="solid",tooltip=" "];
  Node54 [id="Node000054",label="tds_process_compute\l_names",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gae5b3e01f3d665f9e377de091f46f1ab9",tooltip="tds_process_compute_names() processes compute result sets."];
  Node54 -> Node44 [id="edge37_Node000054_Node000044",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node55 [id="edge38_Node000010_Node000055",color="steelblue1",style="solid",tooltip=" "];
  Node55 [id="Node000055",label="tds_process_compute\l_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gae3368ea80d0d8b13791ceb13ee5f19c9",tooltip="tds_process_compute_result() processes compute result sets."];
  Node55 -> Node44 [id="edge39_Node000055_Node000044",color="steelblue1",style="solid",tooltip=" "];
  Node55 -> Node6 [id="edge40_Node000055_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node55 -> Node35 [id="edge41_Node000055_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node56 [id="edge42_Node000010_Node000056",color="steelblue1",style="solid",tooltip=" "];
  Node56 [id="Node000056",label="tds_process_cursor\l_tokens",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga315d875d90c64d12d61fc9e33b4dee96",tooltip="Reads cursor command results."];
  Node56 -> Node35 [id="edge43_Node000056_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node57 [id="edge44_Node000010_Node000057",color="steelblue1",style="solid",tooltip=" "];
  Node57 [id="Node000057",label="tds_process_default\l_tokens",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga39453d084f3f780ac4602d4abf2839f7",tooltip="tds_process_default_tokens() is a catch all function that is called to process tokens not known to ot..."];
  Node57 -> Node11 [id="edge45_Node000057_Node000011",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node38 [id="edge46_Node000057_Node000038",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node41 [id="edge47_Node000057_Node000041",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node46 [id="edge48_Node000057_Node000046",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node24 [id="edge49_Node000057_Node000024",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node35 [id="edge50_Node000057_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node47 [id="edge51_Node000057_Node000047",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node48 [id="edge52_Node000057_Node000048",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node49 [id="edge53_Node000057_Node000049",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node56 [id="edge54_Node000057_Node000056",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node61 [id="edge55_Node000057_Node000061",color="steelblue1",style="solid",tooltip=" "];
  Node61 [id="Node000061",label="tds_process_dyn_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga416cf119c1d4a0fca27dc5b50c261358",tooltip="Process results from dynamic."];
  Node61 -> Node35 [id="edge56_Node000061_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node62 [id="edge57_Node000057_Node000062",color="steelblue1",style="solid",tooltip=" "];
  Node62 [id="Node000062",label="tds_process_end",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga6ee2e7af38af768611b8bf4b79c36f46",tooltip="tds_process_end() processes any of the DONE, DONEPROC, or DONEINPROC tokens."];
  Node57 -> Node85 [id="edge58_Node000057_Node000085",color="steelblue1",style="solid",tooltip=" "];
  Node85 [id="Node000085",label="tds_process_info",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga65a2316369529731732f200c190d05d6",tooltip="tds_process_info() is called for INFO, ERR, or EED tokens and is responsible for calling the CLI's me..."];
  Node85 -> Node5 [id="edge59_Node000085_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node85 -> Node35 [id="edge60_Node000085_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node85 -> Node57 [id="edge61_Node000085_Node000057",color="steelblue1",style="solid",tooltip=" "];
  Node85 -> Node86 [id="edge62_Node000085_Node000086",color="steelblue1",style="solid",tooltip=" "];
  Node86 [id="Node000086",label="tds_unget_byte",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#gad70d59fb317d098b0c9fd29dd77131a8",tooltip="Unget will always work as long as you don't call it twice in a row."];
  Node57 -> Node87 [id="edge63_Node000057_Node000087",color="steelblue1",style="solid",tooltip=" "];
  Node87 [id="Node000087",label="tds_process_nbcrow",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gaf7264c9eb3aa7a73358a4c65f02d3d3c",tooltip="tds_process_nbcrow() processes rows and places them in the row buffer."];
  Node57 -> Node88 [id="edge64_Node000057_Node000088",color="steelblue1",style="solid",tooltip=" "];
  Node88 [id="Node000088",label="tds_process_param_result\l_tokens",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#ga9fdef8228d29cab7fa9098f07fa73fba",tooltip="Process parameters from networks."];
  Node88 -> Node35 [id="edge65_Node000088_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node88 -> Node89 [id="edge66_Node000088_Node000089",color="steelblue1",style="solid",tooltip=" "];
  Node89 [id="Node000089",label="tds_process_param_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gacb3354443bcefe7a500a500a4904cc05",tooltip="process output parameters of a stored procedure."];
  Node89 -> Node5 [id="edge67_Node000089_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node89 -> Node6 [id="edge68_Node000089_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node88 -> Node86 [id="edge69_Node000088_Node000086",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node93 [id="edge70_Node000057_Node000093",color="steelblue1",style="solid",tooltip=" "];
  Node93 [id="Node000093",label="tds_process_params\l_result_token",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#ga7b18c0911a9dc69939577b39eb64725d",tooltip="tds_process_params_result_token() processes params on TDS5."];
  Node57 -> Node94 [id="edge71_Node000057_Node000094",color="steelblue1",style="solid",tooltip=" "];
  Node94 [id="Node000094",label="tds_process_row",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#gaad814dd6e35aee8332035d06dc8b5d65",tooltip="tds_process_row() processes rows and places them in the row buffer."];
  Node57 -> Node95 [id="edge72_Node000057_Node000095",color="steelblue1",style="solid",tooltip=" "];
  Node95 [id="Node000095",label="tds_process_tabname",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gaeec59bca9bd0c5388e245f0d19d9c81a",tooltip="Process list of table from network."];
  Node95 -> Node35 [id="edge73_Node000095_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node95 -> Node86 [id="edge74_Node000095_Node000086",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node99 [id="edge75_Node000057_Node000099",color="steelblue1",style="solid",tooltip=" "];
  Node99 [id="Node000099",label="tds_token_name",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#ga7f24a7af985cd320788122e98072b7af",tooltip="Returns string representation for a given token type."];
  Node57 -> Node86 [id="edge76_Node000057_Node000086",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node61 [id="edge77_Node000010_Node000061",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node100 [id="edge78_Node000010_Node000100",color="steelblue1",style="solid",tooltip=" "];
  Node100 [id="Node000100",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"];
  Node100 -> Node35 [id="edge79_Node000100_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node62 [id="edge80_Node000010_Node000062",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node85 [id="edge81_Node000010_Node000085",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node87 [id="edge82_Node000010_Node000087",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node89 [id="edge83_Node000010_Node000089",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node88 [id="edge84_Node000010_Node000088",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node93 [id="edge85_Node000010_Node000093",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node94 [id="edge86_Node000010_Node000094",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node95 [id="edge87_Node000010_Node000095",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node79 [id="edge88_Node000010_Node000079",color="steelblue1",style="solid",tooltip=" "];
  Node79 [id="Node000079",label="tds_set_cur_dyn",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#gae8b7db85af16701fc0604eb117cbd4e4",tooltip="Set current dynamic."];
  Node10 -> Node99 [id="edge89_Node000010_Node000099",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node86 [id="edge90_Node000010_Node000086",color="steelblue1",style="solid",tooltip=" "];
  Node7 -> Node102 [id="edge91_Node000007_Node000102",color="steelblue1",style="solid",tooltip=" "];
  Node102 [id="Node000102",label="tds_submit_queryf",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#gad695defcbf663b0023851a198206a772",tooltip="Format and submit a query."];
  Node102 -> Node103 [id="edge92_Node000102_Node000103",color="steelblue1",style="solid",tooltip=" "];
  Node103 [id="Node000103",label="tds_submit_query",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga5a29ae7f99d089dc3cea85ec6ee5f3ab",tooltip="Sends a language string to the database server for processing."];
  Node1 -> Node44 [id="edge93_Node000001_Node000044",color="steelblue1",style="solid",tooltip=" "];
}
