digraph "evhtp_bind_socket"
{
 // 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="evhtp_bind_socket",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="bind to a socket, optionally with specific protocol support formatting."];
  Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
  Node2 [id="Node000002",label="evhtp_bind_sockaddr",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a49e7d9a4b613ac689aeffbc6fcd8fbbe",tooltip="bind to an already allocated sockaddr."];
  Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "];
  Node3 [id="Node000003",label="evhtp_accept_socket",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a6f94e792158ac45a66b14ac4b1791215",tooltip="create the listener plus setup various options with an already-bound socket."];
  Node3 -> Node4 [id="edge3_Node000003_Node000004",color="steelblue1",style="solid",tooltip=" "];
  Node4 [id="Node000004",label="htp__accept_cb_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a324cd0c37be87b95b3fb90898f020893",tooltip=" "];
  Node4 -> Node5 [id="edge4_Node000004_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node5 [id="Node000005",label="evhtp_connection_free",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#ad8e05f912c12705d93c0a1aec125544a",tooltip="free's all connection related resources, this will also call your request fini hook and request fini ..."];
  Node5 -> Node6 [id="edge5_Node000005_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node6 [id="Node000006",label="htp__free_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a903108b0dae3b310ebab0ef757edf4bc",tooltip="Wrapper for free so that a different free can be used if desired."];
  Node5 -> Node7 [id="edge6_Node000005_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node7 [id="Node000007",label="htp__hook_connection\l_fini_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#ac80b31b61b2ba95b923c7f2310be6831",tooltip="runs the user-definedhook called just prior to a connection being closed"];
  Node5 -> Node8 [id="edge7_Node000005_Node000008",color="steelblue1",style="solid",tooltip=" "];
  Node8 [id="Node000008",label="htp__request_free_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a294cd8780bd32c8e91627e5430f78e5c",tooltip="frees all data in an evhtp_request_t along with calling finished hooks"];
  Node8 -> Node9 [id="edge8_Node000008_Node000009",color="steelblue1",style="solid",tooltip=" "];
  Node9 [id="Node000009",label="evhtp_kvs_free",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a653c3af86d2d3dd3c11abadd71589edf",tooltip="frees a the list of key/values, and all underlying entries"];
  Node9 -> Node10 [id="edge9_Node000009_Node000010",color="steelblue1",style="solid",tooltip=" "];
  Node10 [id="Node000010",label="evhtp_kv_free",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a7939fc367080e65dae817a198b0329bb",tooltip="frees resources allocated for a single key/value"];
  Node10 -> Node6 [id="edge10_Node000010_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node9 -> Node6 [id="edge11_Node000009_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node6 [id="edge12_Node000008_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node11 [id="edge13_Node000008_Node000011",color="steelblue1",style="solid",tooltip=" "];
  Node11 [id="Node000011",label="htp__hook_request_fini_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a6ba8109061f269fba5243d0934bb4b44",tooltip="runs the user-defined hook called just prior to a request been free()'d"];
  Node8 -> Node12 [id="edge14_Node000008_Node000012",color="steelblue1",style="solid",tooltip=" "];
  Node12 [id="Node000012",label="htp__uri_free_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a4fa3d00dcc23b23a399905ed0cd069a5",tooltip="frees an overlay URI structure"];
  Node12 -> Node13 [id="edge15_Node000012_Node000013",color="steelblue1",style="solid",tooltip=" "];
  Node13 [id="Node000013",label="htp__authority_free_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#aeb9d560219d5a14c17b2497234b05590",tooltip="frees an authority structure"];
  Node13 -> Node6 [id="edge16_Node000013_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node12 -> Node6 [id="edge17_Node000012_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node12 -> Node14 [id="edge18_Node000012_Node000014",color="steelblue1",style="solid",tooltip=" "];
  Node14 [id="Node000014",label="htp__path_free_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a42d72b28cbe3848938817bc785f82df1",tooltip="Correctly frees the evhtp_path_t ptr that is passed in."];
  Node14 -> Node6 [id="edge19_Node000014_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node4 -> Node15 [id="edge20_Node000004_Node000015",color="steelblue1",style="solid",tooltip=" "];
  Node15 [id="Node000015",label="evthr_pool_defer",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$thread_8c.html#ac097120e7644833b8b86891525464414",tooltip=" "];
  Node15 -> Node16 [id="edge21_Node000015_Node000016",color="steelblue1",style="solid",tooltip=" "];
  Node16 [id="Node000016",label="evthr_defer",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$thread_8c.html#a3f09961614cd3efb20100bc540adc78e",tooltip=" "];
  Node15 -> Node17 [id="edge22_Node000015_Node000017",color="steelblue1",style="solid",tooltip=" "];
  Node17 [id="Node000017",label="get_backlog_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$thread_8c.html#a2b4355e839feb4a9a85024c71c176aa9",tooltip=" "];
  Node4 -> Node18 [id="edge23_Node000004_Node000018",color="steelblue1",style="solid",tooltip=" "];
  Node18 [id="Node000018",label="htp__connection_accept_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a77d4521deb56d390184a9f4651850086",tooltip=" "];
  Node18 -> Node19 [id="edge24_Node000018_Node000019",color="steelblue1",style="solid",tooltip=" "];
  Node19 [id="Node000019",label="evhtp_connection_set\l_timeouts",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a1b44fa89d6169ee0877f7ec9032dd765",tooltip="sets a connection-specific read/write timeout which overrides the global read/write settings."];
  Node18 -> Node20 [id="edge25_Node000018_Node000020",color="steelblue1",style="solid",tooltip=" "];
  Node20 [id="Node000020",label="htp__connection_eventcb_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a5d21ac4c4e6b79fc5afbb94c034cca3e",tooltip=" "];
  Node20 -> Node5 [id="edge26_Node000020_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node20 -> Node20 [id="edge27_Node000020_Node000020",color="steelblue1",style="solid",tooltip=" "];
  Node20 -> Node21 [id="edge28_Node000020_Node000021",color="steelblue1",style="solid",tooltip=" "];
  Node21 [id="Node000021",label="htp__connection_readcb_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a8fd645c2deb5abf8b35a1bd9fff20f9e",tooltip=" "];
  Node21 -> Node5 [id="edge29_Node000021_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node21 -> Node22 [id="edge30_Node000021_Node000022",color="steelblue1",style="solid",tooltip=" "];
  Node22 [id="Node000022",label="evhtp_connection_resume",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#ac62f0e64aca4fca3648b67042a6c3646",tooltip="resumes a connection (enables reading) and activates resume event."];
  Node21 -> Node23 [id="edge31_Node000021_Node000023",color="steelblue1",style="solid",tooltip=" "];
  Node23 [id="Node000023",label="evhtp_request_pause",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#ab35aec3adb697918e24b8ff966afe235",tooltip="Wrapper around evhtp_connection_pause."];
  Node23 -> Node24 [id="edge32_Node000023_Node000024",color="steelblue1",style="solid",tooltip=" "];
  Node24 [id="Node000024",label="evhtp_connection_pause",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a411f8bd2a68359f2bfb457961f94db97",tooltip="pauses a connection (disables reading)"];
  Node21 -> Node25 [id="edge33_Node000021_Node000025",color="steelblue1",style="solid",tooltip=" "];
  Node25 [id="Node000025",label="htp__hook_connection\l_error_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a20429624ece7f4df8955afb18f95c86a",tooltip="runs the user-defined hook when a connection error occurs"];
  Node25 -> Node26 [id="edge34_Node000025_Node000026",color="steelblue1",style="solid",tooltip=" "];
  Node26 [id="Node000026",label="htp__hook_error_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#ad1b19bebafc1a2972fcea1623a7db838",tooltip="runs the user-defined hook when a connection error occurs"];
  Node21 -> Node27 [id="edge35_Node000021_Node000027",color="steelblue1",style="solid",tooltip=" "];
  Node27 [id="Node000027",label="htparser_get_error",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parser_8c.html#a0da49907226999ce1439190bf7fd59c4",tooltip=" "];
  Node21 -> Node28 [id="edge36_Node000021_Node000028",color="steelblue1",style="solid",tooltip=" "];
  Node28 [id="Node000028",label="htparser_run",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parser_8c.html#a21ab699be5ec818c1118f1c6f4d7b757",tooltip=" "];
  Node28 -> Node29 [id="edge37_Node000028_Node000029",color="steelblue1",style="solid",tooltip=" "];
  Node29 [id="Node000029",label="get_method",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parser_8c.html#a2f924cee0d1ff942fd92d781879df83c",tooltip=" "];
  Node28 -> Node30 [id="edge38_Node000028_Node000030",color="steelblue1",style="solid",tooltip=" "];
  Node30 [id="Node000030",label="is_host_char",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parser_8c.html#aa905ee8d3cead3af162d637a3a33c397",tooltip=" "];
  Node28 -> Node31 [id="edge39_Node000028_Node000031",color="steelblue1",style="solid",tooltip=" "];
  Node31 [id="Node000031",label="str_to_uint64",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parser_8c.html#afa67e176e3738c52d51608601a90ebd4",tooltip=" "];
  Node20 -> Node32 [id="edge40_Node000020_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node32 [id="Node000032",label="htp__connection_writecb_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#ad322d0e97c11bc46d145cb4e780805e4",tooltip=" "];
  Node32 -> Node5 [id="edge41_Node000032_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node32 -> Node21 [id="edge42_Node000032_Node000021",color="steelblue1",style="solid",tooltip=" "];
  Node32 -> Node33 [id="edge43_Node000032_Node000033",color="steelblue1",style="solid",tooltip=" "];
  Node33 [id="Node000033",label="htp__hook_connection\l_write_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#abd65189b80632cecb32d7ba7e6d10582",tooltip="Runs the user defined on_write hook."];
  Node32 -> Node8 [id="edge44_Node000032_Node000008",color="steelblue1",style="solid",tooltip=" "];
  Node32 -> Node34 [id="edge45_Node000032_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node34 [id="Node000034",label="htparser_init",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parser_8c.html#a7b3e7f5cfd9e769f829bc8d51a200be2",tooltip=" "];
  Node32 -> Node35 [id="edge46_Node000032_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node35 [id="Node000035",label="htparser_set_userdata",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parser_8c.html#af22e3761f1ccd029b26c0bcecf8af2f8",tooltip=" "];
  Node20 -> Node25 [id="edge47_Node000020_Node000025",color="steelblue1",style="solid",tooltip=" "];
  Node18 -> Node21 [id="edge48_Node000018_Node000021",color="steelblue1",style="solid",tooltip=" "];
  Node18 -> Node36 [id="edge49_Node000018_Node000036",color="steelblue1",style="solid",tooltip=" "];
  Node36 [id="Node000036",label="htp__connection_resumecb_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#ace9a29b0908288551e8177ffb8a5c316",tooltip=" "];
  Node36 -> Node5 [id="edge50_Node000036_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node36 -> Node21 [id="edge51_Node000036_Node000021",color="steelblue1",style="solid",tooltip=" "];
  Node18 -> Node32 [id="edge52_Node000018_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node18 -> Node37 [id="edge53_Node000018_Node000037",color="steelblue1",style="solid",tooltip=" "];
  Node37 [id="Node000037",label="htp__run_pre_accept_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a5ce42b92dacfd381763a53b33e7caca0",tooltip=" "];
  Node4 -> Node38 [id="edge54_Node000004_Node000038",color="steelblue1",style="solid",tooltip=" "];
  Node38 [id="Node000038",label="htp__connection_new_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a2ccc6e11f70a275284e65c8ce9f2550f",tooltip=" "];
  Node38 -> Node5 [id="edge55_Node000038_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node38 -> Node39 [id="edge56_Node000038_Node000039",color="steelblue1",style="solid",tooltip=" "];
  Node39 [id="Node000039",label="htp__calloc_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#ae494e85382b2efb906099c396ace38a9",tooltip="Wrapper for calloc so that a different calloc can be used if desired."];
  Node38 -> Node6 [id="edge57_Node000038_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node38 -> Node34 [id="edge58_Node000038_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node38 -> Node40 [id="edge59_Node000038_Node000040",color="steelblue1",style="solid",tooltip=" "];
  Node40 [id="Node000040",label="htparser_new",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parser_8c.html#a3148d241a0034d6293beaf5991f803e5",tooltip=" "];
  Node38 -> Node35 [id="edge60_Node000038_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node4 -> Node41 [id="edge61_Node000004_Node000041",color="steelblue1",style="solid",tooltip=" "];
  Node41 [id="Node000041",label="htp__malloc_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#ad47ae48c66a1dbf1454c874f0dc1dbda",tooltip="Wrapper for malloc so that a different malloc can be used if desired."];
  Node4 -> Node42 [id="edge62_Node000004_Node000042",color="steelblue1",style="solid",tooltip=" "];
  Node42 [id="Node000042",label="htp__run_in_thread_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#af4ffaca0b4b70ef55b343ce4d3757438",tooltip=" "];
  Node42 -> Node5 [id="edge63_Node000042_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node42 -> Node43 [id="edge64_Node000042_Node000043",color="steelblue1",style="solid",tooltip=" "];
  Node43 [id="Node000043",label="evthr_get_base",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$thread_8c.html#ab68625bd32fe817cc0a36eb68c9f2935",tooltip=" "];
  Node42 -> Node18 [id="edge65_Node000042_Node000018",color="steelblue1",style="solid",tooltip=" "];
  Node42 -> Node44 [id="edge66_Node000042_Node000044",color="steelblue1",style="solid",tooltip=" "];
  Node44 [id="Node000044",label="htp__run_post_accept_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#af637bd14cd12c74ff4e949ae0898cdd3",tooltip=" "];
  Node4 -> Node44 [id="edge67_Node000004_Node000044",color="steelblue1",style="solid",tooltip=" "];
  Node3 -> Node45 [id="edge68_Node000003_Node000045",color="steelblue1",style="solid",tooltip=" "];
  Node45 [id="Node000045",label="htp__ssl_servername_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a5d58cddbac0ac30733eeff85bddb84b8",tooltip=" "];
  Node45 -> Node46 [id="edge69_Node000045_Node000046",color="steelblue1",style="solid",tooltip=" "];
  Node46 [id="Node000046",label="htp__request_find_vhost_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a17b67207e083fcadc80283d76fcd7912",tooltip=" "];
  Node46 -> Node47 [id="edge70_Node000046_Node000047",color="steelblue1",style="solid",tooltip=" "];
  Node47 [id="Node000047",label="htp__glob_match_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#a7276b3826c042e421e48f4e902d7a419",tooltip="glob/wildcard type pattern matching."];
  Node47 -> Node47 [id="edge71_Node000047_Node000047",color="steelblue1",style="solid",tooltip=" "];
  Node2 -> Node48 [id="edge72_Node000002_Node000048",color="steelblue1",style="solid",tooltip=" "];
  Node48 [id="Node000048",label="htp__serv_setsockopts_",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$evhtp_8c.html#ae9717f8667225f62c0984c13551fc881",tooltip=" "];
}
