def pathconf(path,<EOL>os_name=os.name,<EOL>isdir_fnc=os.path.isdir,<EOL>pathconf_fnc=getattr(os, '<STR_LIT>', None),<EOL>pathconf_names=getattr(os, '<STR_LIT>', ())):
if pathconf_fnc and pathconf_names:<EOL><INDENT>return {key: pathconf_fnc(path, key) for key in pathconf_names}<EOL><DEDENT>if os_name == '<STR_LIT>':<EOL><INDENT>maxpath = <NUM_LIT> if isdir_fnc(path) else <NUM_LIT>  <EOL><DEDENT>else:<EOL><INDENT>maxpath = <NUM_LIT:255>  <EOL><DEDENT>return {<EOL>'<STR_LIT>': maxpath,<EOL>'<STR_LIT>': maxpath - len(path),<EOL>}<EOL>
Get all pathconf variables for given path.

:param path: absolute fs path
:type path: str
:returns: dictionary containing pathconf keys and their values (both str)
:rtype: dict