w&bddlZddlZddlZddlZgdZgdZdZGddeZ ddl m Z e j Z e j Zn##eef$reeZ eeZYnwxYw ejdd Zn#e$rejdZYnwxYwejZgd Zd Zd Zd ezd z Zd ZdZdZejZed\ZZZ Z!Z"Z#ej$Z$dZ%dZ&dZ'dZ(dZ)dZ*e+dkraddl,Z,e-e,j.dkre/e,j.d Z0nej1Z0e2de0e2de'e0dSdS)N) )alpha*i)arm*ri;)i*86r")ia64*ri)mips*32biti)r 64biti)parisc*ri )powerpc*ri)s390*ri)sparc*r)sh*r!)x86_64*r r)rr ) )rri)rri:)rrr)rri)r r i)r r i)r ri )r ri)rri)rr)rri )rr r)rr ctjd}tjd}|D]4\}}}t j||rt j||r|cS5dS)Nr)osunameplatform architecturefnmatch) syscall_listarchbitscandidate_archcandidate_bits syscall_nrs ./usr/lib/python3/dist-packages/iotop/ioprio.pyfind_ioprio_syscall_numberr%=sy 8::a=D  " "1 %D6B2 ?4 0 0  ?4 0 0    ceZdZdZdS)IoprioSetErrorcj tj||_dS#t$r ||_YdSwxYwN)rstrerrorerr TypeError)selfr,s r$__init__zIoprioSetError.__init__HsD {3''DHHH   DHHHH s 22N)__name__ __module__ __qualname__r/r&r$r(r(Gs#r&r()_ioprioT use_errno)Nrtbeidle c t|}n*#t$rtd}YnwxYw|tz|zSr*)PRIORITY_CLASSESindex ValueErrorIOPRIO_CLASS_SHIFT) ioprio_class ioprio_datas r$ ioprio_valuerCds_4'--l;; 444'--d33 4 . .+ ==s$AAc,t|tz Sr*)r=r@ioprios r$rArAls F&88 99r&c|tzSr*)IOPRIO_PRIO_MASKrEs r$rBrBps $ $$r&ct|}tt|}|dzdz }|ttfvrd|zS|t krdSd|zS)Nzrt/%dr9zbe/%d)sched_getscheduler getpriority PRIO_PROCESS SCHED_FIFOSCHED_RR SCHED_IDLE)pid schedulernice ioprio_nices r$get_ioprio_from_schedrW{sa"3''I |S ) )D"9/KZ***$$ j v$$r&ctdSttt|}|dkrdSt|}|st |S|dkr|Sd|t |fzS)Nz?sysrz?errr9z%s/%d)__NR_ioprio_getsyscallIOPRIO_WHO_PROCESSrArWrB)rSrF prio_classs r$getr]syv _&8# > >F zzvf%%J *$S)))V j+f"5"56 66r&cttdt||}tt|||d}|dkr6 t j}n#t $rd}YnwxYwt|dS)NzNo ioprio_set syscall foundTr5rz>%  EE ^^E " " E399S>>!$%%  %,, - 55r&cd|vr2|d}|dt|dfS|dkrdSdS)Nrjrr:r9)r9r)NN)rorn) ioprio_strros r$to_class_and_datarvsN j  %%a#eAh--(( v  { rs&    "YJ,O,OO^$JJJ001HIIO001HIIOOOJ&FK555MM&&&FK%%MMM&  ---++q0>>>:::%%%#5 E!HHF Z; :'   % % % 7 7 7 " " "666" zJJJ s38}}c#(1+bikk E&# E)SSXXs#AA A $A77BB