<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_affinity(pid):
 """ Returns the affinity mask of the process whose ID is pid. @param pid: process PID (0 == current process) @type pid: C{int} @return: set of CPU ids @rtype: C{set} """


    cpuset = cpu_set_t()
    result = set()

    libnuma.sched_getaffinity(pid, sizeof(cpu_set_t), byref(cpuset))

    for i in range(0, sizeof(cpu_set_t)*8):
        if __CPU_ISSET(i, cpuset):
            result.add(i)

    return result