digraph G { rankdir=LR splines=ortho graph [pad="0.5", nodesep="0.5", ranksep="1.5"] subgraph cluster_authenticate { label = "authenticate.c" auth_mkvalue auth_checknologin _auth_checknologin auth_cat _auth_validuser auth_approval auth_usercheck auth_userokay auth_userchallenge auth_userresponse auth_verify } subgraph cluster_auth_subr { label = "auth_subr.c" auth_open auth_clean auth_close auth_challenge auth_setenv auth_clrenv auth_getitem auth_setitem auth_setoption auth_clroptions auth_clroption auth_setdata auth_setpwd auth_getvalue auth_check_expire auth_check_change auth_call _recv_fd _auth_spool _add_rmlist _auth_next_arg auth_setstate auth_set_va_list auth_getstate auth_getpwd } subgraph cluster_login_cap { label = "login_cap.c" login_getclass login_getstyle login_getcapstr login_getcaptime login_getcapnum login_getcapsize login_getcapbool login_close gsetrl setclasscontext setusercontext setuserpath setuserenv login_setenv strtosize strtolimit multiply secure_path expandstr } auth_checknologin -> _auth_checknologin _auth_checknologin -> login_getcapbool _auth_checknologin -> login_getcapstr _auth_checknologin -> auth_cat auth_approval -> auth_getitem auth_approval -> auth_getpwd auth_approval -> _auth_validuser auth_approval -> login_getclass auth_approval -> login_close auth_approval -> login_getcapstr auth_approval -> auth_open auth_approval -> auth_setstate auth_approval -> auth_setitem auth_approval -> auth_check_expire auth_approval -> login_getcapbool auth_approval -> auth_call auth_approval -> auth_close auth_approval -> auth_getstate auth_usercheck -> _auth_validuser auth_usercheck -> login_getclass auth_usercheck -> login_getstyle auth_usercheck -> login_close auth_usercheck -> auth_open auth_usercheck -> auth_setitem auth_usercheck -> auth_setdata auth_usercheck -> auth_verify auth_userokay -> auth_usercheck auth_userokay -> auth_close auth_userchallenge -> _auth_validuser auth_userchallenge -> login_getclass auth_userchallenge -> login_getstyle auth_userchallenge -> auth_open auth_userchallenge -> login_close auth_userchallenge -> auth_setitem auth_userchallenge -> auth_close auth_userchallenge -> auth_challenge auth_userresponse -> auth_setstate auth_userresponse -> auth_getitem auth_userresponse -> _auth_validuser auth_userresponse -> auth_close auth_userresponse -> auth_setdata auth_userresponse -> auth_getstate auth_userresponse -> auth_check_expire auth_verify -> auth_open auth_verify -> auth_setstate auth_verify -> auth_setitem auth_verify -> auth_getitem auth_verify -> _auth_validuser auth_verify -> auth_set_va_list auth_verify -> auth_call auth_clean -> auth_clrenv auth_clean -> auth_setitem auth_close -> auth_setenv auth_challenge -> _auth_validuser auth_challenge -> auth_getvalue auth_setitem -> auth_setitem auth_setitem -> _auth_validuser auth_check_expire -> auth_setpwd auth_check_change -> auth_setpwd auth_call -> _auth_next_arg auth_call -> _auth_spool auth_call -> _add_rmlist auth_call -> auth_clrenv _auth_spool -> _recv_fd login_getstyle -> login_getcapstr gsetrl -> login_getcaptime gsetrl -> login_getcapsize gsetrl -> login_getcapnum setclasscontext -> login_getclass setclasscontext -> login_close setusercontext -> login_getclass setusercontext -> login_close setusercontext -> login_getcapnum setusercontext -> setlogin setuserpath -> login_setenv setuserenv -> login_setenv }