<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_signature(library, function_name, argtypes, restype, errcheck):
 """Set the signature of single function in a library. :param library: ctypes wrapped library. :type library: ctypes.WinDLL or ctypes.CDLL :param function_name: name of the function as appears in the header file. :type function_name: str :param argtypes: a tuple of ctypes types to specify the argument types that the function accepts. :param restype: A ctypes type to specify the result type of the foreign function. Use None for void, a function not returning anything. :param errcheck: a callabe :raises: AttributeError """


    func = getattr(library, function_name)
    func.argtypes = argtypes
    if restype is not None:
        func.restype = restype
    if errcheck is not None:
        func.errcheck = errcheck