Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
python3-trilio-fusepy-el9 / usr / lib / python3.9 / site-packages / __pycache__ / fuse.cpython-39.opt-1.pyc
Size: Mime:
a

ÖÒ#d֣ã%@st
ddlmZmZmZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
ddlmZmZmZddlmZddlmZzddlmZWney®d	d
„ZYn0zeWneyÎeZYn0e d¡Ze
ƒZeƒZedkrddlZej d
krej!Z"ej#Z$nej%Z"ej&Z$edks4e 'd¡rHGdd„dej(ƒZ)nGdd„dej(ƒZ)Gdd„dej(ƒZ*Gdd„dej(ƒZ+ej, -d¡Z.e.s@edkrÊe /e
dƒej0¡Z1e
dƒpÆe
dƒpÆe
dƒZ.nvedkr8zddl2Z3Wneyüddl4Z3Yn0dd„Z5e5e3j6ddƒZ.e.r@e.dej d
kr.d nd!7Z.ne
dƒZ.e.sPe7d"ƒ‚n
e /e.¡Z8edkrte9e8d#ƒrtd$Zed%vrðd&Z:ej%Z;ej<Z=ej<Z>ej&Z?ej@ZAej!ZBej%ZCej&ZDe EejFejGejGe HejI¡ejJejFej&¡ZKe EejFejGejGe HejI¡ejJej&¡ZLedkrd'e;fd(eAfd)ej@fd*ej#fd+eDfd,e?fd-e;fd.e)fd/e)fd0e)fd1e)fd2eBfd3ej!fd4ej%fd5ej%fd6ej%fd7ej%fd8ej!fge+_Mn\d'e;fd*ej&fd(eAfd)ej@fd+eDfd,e?fd-e;fd.e)fd/e)fd0e)fd2eBfd3ej!fd4ej%fg
e+_Mned9kræd:Z:ejNZ;ejNZ=ejNZ>ejOZ?ejOZAejPZBejFZCejOZDe EejFejGejGe HejI¡ejJejF¡ZKe EejFejGejGe HejI¡ejJ¡ZLed;krèd'e;fd*ej<fd)ej<fd(eAfd+eDfd,e?fd<ejFfd-e;fd2eBfd4ejQfd3ejQfd.e)fd/e)fd0e)fge+_Mqòed=kr
d'e;fd>ej<fd?ej<fd@ej<fd*ej<fd(eAfd)ej<fd+eDfd,e?fd-e;fdAej<fdBej<fd2eBfdCej<fd.e)fdDej<fd/e)fdEej<fd0e)fdFej<fd4ejQfd3ejQfdGej<fdHej<fdIej<fdJej<fdKej<fdLej<fdMej<fdNej<fdOej<fdPej<fdQej<fdRej<fdSej<fdTej<fg$e+_MqòedUkr|d'e;fd*ejNfd(eAfd)ejOfd+eDfd,e?fd-e;fdVejRfd2eBfd4ejQfd3ejPfd.e)fd/e)fd0e)fge+_MqòedWksedXkröd'e;fd*ej<fd)ej<fd(eAfd+eDfd,e?fdYejOfd-e;fd2eBfd4ejQfd3ejQfd.e)fd/e)fd0e)fge+_MnìedZkrnd'e;fd*ej<fd(eAfd)ejOfd+eDfd,e?fd-e;fd[ej<fd2eBfd4ejFfdVejFfd3ejQfd.e)fd/e)fd0e)fge+_Mntd'e;fd[ejRfd\ej<fd(eAfd)ejOfd+eDfd,e?fd-e;fdVejRfd2eBfd4ejQfd3ejPfd.e)fd/e)fd0e)fd*ejNfge+_Mnedksüe 'd¡ræedkr
d]nd^Z:ejOZ;e$Z=e$Z>ejOZ?ejOZAejPZBejFZCejOZDe EejFejGejGe HejI¡ejJejF¡ZKe EejFejGejGe HejI¡ejJ¡ZLd'e;fd*ejNfd(eAfd)ejRfd+eDfd,e?fd-e;fd2eBfd.e)fd/e)fd0e)fd4ejFfd3ejPfd1e)fge+_MneSd_eƒ‚ed`k	rdej#Z=ej#Z>e EejFejGejGe HejI¡ejJejF¡ZKe EejFejGejGe HejI¡ejJ¡ZLGdadb„dbej(ƒZTn<edk	sze 'd¡	rŽGdcdb„dbej(ƒZTnGdddb„dbej(ƒZTedk	s¶e 'd¡	rÊGdedf„dfej(ƒZUnGdgdf„dfej(ƒZUGdhdi„diej(ƒZVe HeV¡e8jW_XGdjdk„dkej(ƒZYd}dmdn„ZZd~dodp„Z[dqdr„ZWdsdt„Z\Gdudv„dve]ƒZ^Gdwdx„dxe_ƒZ`Gdydz„dze_ƒZaGd{d|„d|ƒZbdS)é)Úprint_functionÚabsolute_importÚdivisionN)Úfind_library)ÚmachineÚsystem)ÚsignalÚSIGINTÚSIG_DFL)ÚS_IFDIR)Ú	print_exc)Úpartialcs&‡‡‡fdd„}ˆ|_ˆ|_ˆ|_|S)Ncs$ˆ ¡}| |¡ˆˆ|i|¤ŽS©N)ÚcopyÚupdate)ZfargsZ	fkeywordsZnewkeywords©ÚargsÚfuncÚkeywords©ú(/usr/lib/python3.9/site-packages/fuse.pyÚnewfunc$s
zpartial.<locals>.newfunc)rrr)rrrrrrrr
#s
r
ÚfuseZWindowslÿÿZCYGWINc@seZdZdefdefgZdS©Ú
c_timespecÚtv_secÚtv_nsecN)Ú__name__Ú
__module__Ú__qualname__Ú
c_win_longÚ_fields_rrrrrHsrc@s eZdZdejfdejfgZdSr)rrrÚctypesÚc_longr!rrrrrKsc@seZdZdefdefgZdS)Ú	c_utimbufÚactimeÚmodtimeN)rrrrr!rrrrr$Nsr$c@seZdZdS)Úc_statN)rrrrrrrr'Qsr'ZFUSE_LIBRARY_PATHÚDarwinZiconvZfuse4xZosxfusec	Cs|d\}}zZz0t ||dtjtjB¡}tt ||¡dƒ}WntyLYn0W|durxt |¡n|durvt |¡0|S)N)NNr)ÚregÚOpenKeyZKEY_READZKEY_WOW64_32KEYÚstrZQueryValueExZWindowsErrorZCloseKey)ZrootkeyZkeynameZvalnameÚkeyÚvalrrrÚ
Reg32GetValueasÿr.zSOFTWARE\WinFspZ
InstallDirzbin\winfsp-%s.dllZx64Zx86zUnable to find libfuseZmacfuse_versionúDarwin-MacFuse)r(r/ÚFreeBSDé-Úst_devÚst_modeÚst_nlinkÚst_inoÚst_uidÚst_gidÚst_rdevZst_atimespecZst_mtimespecZst_ctimespecZst_birthtimespecÚst_sizeÚ	st_blocksÚ
st_blksizeÚst_flagsZst_genZ	st_lspareZ	st_qspareZLinuxé_Zx86_64Z__pad0ZmipsZ__pad1_1Z__pad1_2Z__pad1_3Z__pad2_1Z__pad2_2Z__pad3Z__pad4Z__pad5Z__pad6Z__pad7_1Z__pad7_2Z__pad7_3Z__pad7_4Z__pad7_5Z__pad7_6Z__pad7_7Z__pad7_8Z__pad7_9Z	__pad7_10Z	__pad7_11Z	__pad7_12Z	__pad7_13Z	__pad7_14ZppcZ__pad2Zppc64Zppc64leZ__padZaarch64Z__pad1Z__st_inoéé†z%s is not supported.r0c
@sLeZdZdefdefdefdefdefdefdejfdejfd	ejfg	Zd
S)Ú	c_statvfsÚf_bavailÚf_bfreeÚf_blocksÚf_favailÚf_ffreeÚf_filesÚf_bsizeÚf_flagÚf_frsizeN)rrrÚc_fsblkcnt_tÚc_fsfilcnt_tr"Úc_ulongr!rrrrr@js÷r@c@sReZdZdefdefdefdefdefdefdefdefd	efd
efdefgZdS©
r@rGrIrCrBrArFrErDÚf_fsidrHÚ	f_namemaxN)rrrÚc_win_ulongrJrKr!rrrrr@vsõc@s\eZdZdejfdejfdefdefdefdefdefdefd	ejfd
ejfdejfgZdSrM)rrrr"rLrJrKr!rrrrr@„sôc
@s`eZdZdejfdejfdejfdejdfdejdfdejdfdejd	fd
ejfdejfg	ZdS)
Úfuse_file_infoÚflagsÚfh_oldÚ	writepageÚ	direct_ioéÚ
keep_cacheÚflushÚpaddingéÚfhÚ
lock_ownerN)rrrr"Úc_intÚc_uintÚc_uint64r!rrrrrQ”s



÷rQc@steZdZdejfdejfdejfdejdfdejdfdejdfdejdfd	ejdfd
ejdfdejfd
ejfgZdS)rQrRrSrTrUrVrWrXZnonseekableZ
flock_releaserYér[r\N)	rrrr"r]rLr^r_r!rrrrrQ s





õc@s2eZdZdejfdefdefdefdejfgZdS)Úfuse_contextrÚuidÚgidÚpidÚprivate_dataN)	rrrr"Úc_voidpÚc_uid_tÚc_gid_tÚc_pid_tr!rrrrra®sûrac4@seZdZde ejeje e¡¡fde ejeje ej	¡ej
¡fdejfde ejejee
¡fde ejeje¡fde ejej¡fde ejej¡fde ejejej¡fd	e ejejej¡fd
e ejejej¡fde ejeje¡fde ejejee¡fd
e ejeje¡fdejfde ejeje e¡¡fde ejeje ej	¡ej
ee e¡¡fde ejeje ej	¡ej
ee e¡¡fde ejeje e¡¡fde ejeje e¡¡fde ejeje e¡¡fde ejejeje e¡¡fdefdefde ejeje ej	¡ej
¡fde ejejej¡fde ejeje e¡¡fde ejejeje ejejeje e¡e¡ee e¡¡fde ejeje e¡¡fde ejejeje e¡¡fde ejej¡fde ejej¡fd e ejejej¡fd!e ejejee e¡¡fd"e ejejee e¡¡fd#e ejeje e¡e e¡¡fd$e ejeje e¡ejej¡fd%e ejeje e¡¡fd&e ejejej
e ej¡¡fd'ejd(fd)ejd(fd*ejd(fd+ejd,fd-e ejejejeje e¡ejej¡fg+Zd.S)/Úfuse_operationsÚgetattrÚreadlinkZgetdirÚmknodÚmkdirÚunlinkÚrmdirÚsymlinkÚrenameÚlinkÚchmodÚchownÚtruncateÚutimeÚopenÚreadÚwriteÚstatfsrXÚreleaseÚfsyncÚsetxattrÚgetxattrÚ	listxattrÚremovexattrÚopendirÚreaddirÚ
releasedirÚfsyncdirÚinitÚdestroyÚaccessÚcreateÚ	ftruncateÚfgetattrÚlockÚutimensÚbmapZflag_nullpath_okrVZflag_nopathZflag_utime_omit_okZ
flag_reservedrZÚioctlN)rrrr"Ú	CFUNCTYPEr]Úc_char_pÚPOINTERr'Úc_byteÚc_size_trfÚc_mode_tÚc_dev_trgrhÚc_off_trQr@Ú
setxattr_tÚ
getxattr_tr$Úc_ulonglongr^Úc_void_pr!rrrrrj¹sôÿþÿÿÿÿÿ
ÿÿþþÿÿÿþþÿÿ
þø
ÿþÿ
þ
þþþÿ
þ



þ…rjFcCs(|r|jd|jS|j|jdSdS)Néʚ;çeÍÍA)rr)ÚtsÚuse_nsrrrÚtime_of_timespec;sr cCsŠ| ¡D]|\}}|dvrnt||ddƒ}|dur2q|rNtt|ƒdƒ\|_|_q„t|ƒ|_t||jdƒ|_qt||ƒrt|||ƒqdS)N)Úst_atimeÚst_mtimeÚst_ctimeZst_birthtimeÚspecrœr)ÚitemsrkÚdivmodÚintrrÚhasattrÚsetattr)ÚstÚattrsrŸr,r-ZtimespecrrrÚset_st_attrsAs

r¬cCst ¡}|j}|j|j|jfS)zReturns a (uid, gid, pid) tuple)Ú_libfuseÚfuse_get_contextÚcontentsrbrcrd)ZctxpÚctxrrrr®Qsr®cCs t t ¡jj¡}t |¡dS)a
    This will shutdown the FUSE mount and cause the call to FUSE(...) to
    return, similar to sending SIGINT to the process.

    Flags the native FUSE session as terminated and will cause any running FUSE
    event loops to exit on the next opportunity. (see fuse.c::fuse_exit)
    N)r"r›r­r®r¯rÚ	fuse_exit)Zfuse_ptrrrrr±Ysr±cseZdZ‡fdd„Z‡ZS)ÚFuseOSErrorcstt|ƒ |t |¡¡dSr)Úsuperr²Ú__init__ÚosÚstrerror)ÚselfÚerrno©Ú	__class__rrr´fszFuseOSError.__init__)rrrr´Ú
__classcell__rrr¹rr²esr²c@sfeZdZdZdZdXdd„Zedd„ƒZed	d
„ƒZdd„Z	d
d„Z
dd„Zdd„Zdd„Z
dd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Z d;d<„Z!d=d>„Z"d?d@„Z#dAdB„Z$dCdD„Z%dEdF„Z&dGdH„Z'dIdJ„Z(dKdL„Z)dMdN„Z*dOdP„Z+dQdR„Z,dSdT„Z-dUdV„Z.dWS)YÚFUSEz«
    This class is the lower level interface and should not be subclassed under
    normal use. Its methods are called by fuse.

    Assumes API version 2.6 or later.
    ))Z
foregroundz-f)Údebugz-d)Z	nothreadsz-sFúutf-8csÎ||_||_ˆ|_d|_t|ddƒ|_|js8t dt¡dg}| 	‡fdd„|j
Dƒ¡ˆ d|jj
¡| d	¡| d
 |jfiˆ¤Ž¡¡| |¡‡fdd„|Dƒ}tjt|ƒ|Ž}tƒ}tjD]r}	|	dd
…\}
}|
}|dvrô|dd…}t||dƒ}
|
durqÈt|dƒr.|t|jt||
ƒƒƒ}
t||
|
ƒqÈztttƒ}Wntybt}Yn0t t|ƒ|t  |¡t !|¡d¡}ztt|ƒWnty¨Yn0|`|jr¼|j‚|rÊt"|ƒ‚dS)zÒ
        Setting raw_fi to True will cause FUSE to pass the fuse_file_info
        class as is to Operations, instead of just the fh field.

        This gives you access to direct_io, keep_cache, etc.
        NrŸFz¹Time as floating point seconds for utimens is deprecated!
To enable time as nanoseconds set the property "use_ns" to True in your operations class or set your fusepy requirements to <4.rc3s"|]\}}ˆ |d¡r|VqdS)FN)Úpop)Ú.0ÚargÚflag)ÚkwargsrrÚ	<genexpr>’s
ÿz FUSE.__init__.<locals>.<genexpr>Zfsnamez-oú,csg|]}| ˆ¡‘qSr)Úencode)rÀrÁ)ÚencodingrrÚ
<listcomp>šóz!FUSE.__init__.<locals>.<listcomp>é)rŠr‹rVÚargtypes)#Ú
operationsÚraw_firÇÚ_FUSE__critical_exceptionrkrŸÚwarningsÚwarnÚDeprecationWarningÚextendÚOPTIONSÚ
setdefaultrºrÚappendÚjoinÚ_normalize_fuse_optionsr"r‘Úlenrjr!r¨r
Ú_wrapperr©rr	r
Ú
ValueErrorr­Zfuse_main_realZpointerÚsizeofÚRuntimeError)r·rÌZ
mountpointrÍrÇrÃrÚargvZfuse_opsZentÚnameZ	prototypeZ
check_namer-Zold_handlerÚerrr)rÇrÃrr´xs`
û




ýz
FUSE.__init__cks>| ¡D]0\}}t|tƒr*|dur8|Vqd||fVqdS)NTz%s=%s)r¥Ú
isinstanceÚbool)Zkargsr,Úvaluerrrr×És

zFUSE._normalize_fuse_optionsc
OsDzò|jdkr ||i|¤ŽpdWSz||i|¤Žp2dWWStyÂ}zt|jdkr‚tjd|jt|ƒ|jdd|jWYd}~WStjd|j|jddtjWYd}~WSWYd}~n6d}~0tyîtjd|jddtjYWS0WnLt	y>}z2|t
_tjd	|jddt
ƒtjWYd}~Sd}~00dS)
z%Decorator for the methods that followr†rz2FUSE operation %s raised a %s, returning errno %s.T)Úexc_infoNzSFUSE operation %s raised an OSError with negative errno %s, returning errno.EINVAL.zBUncaught exception from FUSE operation %s, returning errno.EINVAL.z=Uncaught critical exception from FUSE operation %s, aborting.)rÚOSErrorr¸Úlogr½ÚtypeÚerrorÚEINVALÚ	ExceptionÚ
BaseExceptionr·rÎZcriticalr±ÚEFAULT)rrrÃÚerrrrÙÒs<

þ
ý*þþz
FUSE._wrappercCs|durdS| |j¡Sr)ÚdecoderÇ©r·ÚpathrrrÚ_decode_optional_pathýszFUSE._decode_optional_pathcCs| ||d¡Sr)r‹)r·rïÚbufrrrrkszFUSE.getattrcCsH| d| |j¡¡ |j¡}t |d|d…¡}t ||t|ƒ¡dS)NrlrVr)rÌrírÇrÆr"Úcreate_string_bufferÚmemmoverØ)r·rïrñÚbufsizeÚretÚdatarrrrlsÿz
FUSE.readlinkcCs| d| |j¡||¡S)Nrm©rÌrírÇ©r·rïÚmodeÚdevrrrrmsz
FUSE.mknodcCs| d| |j¡|¡S)Nrnr÷©r·rïrùrrrrnsz
FUSE.mkdircCs| d| |j¡¡S)Nror÷rîrrrroszFUSE.unlinkcCs| d| |j¡¡S)Nrpr÷rîrrrrpsz
FUSE.rmdircCs| d| |j¡| |j¡¡S)ú?creates a symlink `target -> source` (e.g. ln -s source target)rqr÷©r·ÚsourceÚtargetrrrrqs
ÿzFUSE.symlinkcCs| d| |j¡| |j¡¡S)Nrrr÷©r·ÚoldÚnewrrrrr$s
ÿzFUSE.renamecCs| d| |j¡| |j¡¡S)ú>creates a hard link `target -> source` (e.g. ln source target)rsr÷rýrrrrs(s
ÿz	FUSE.linkcCs| d| |j¡|¡S)Nrtr÷rûrrrrt.sz
FUSE.chmodcCsDt|dƒjdkrd}t|dƒjdkr,d}| d| |j¡||¡S)NrVréÿÿÿÿru)rgrârhrÌrírÇ©r·rïrbrcrrrru1s
z
FUSE.chowncCs| d| |j¡|¡S©Nrvr÷)r·rïÚlengthrrrrv:sz
FUSE.truncatecCsD|j}|jr"| d| |j¡|¡S| d| |j¡|j¡|_dSdS)Nrxr)r¯rÍrÌrírÇrRr[)r·rïÚfipÚfirrrrx=sÿz	FUSE.openc	CsP|jr|j}n|jj}| d| |¡|||¡}|s6dSt|ƒ}t |||¡|S)Nryr)rÍr¯r[rÌrðrØr"ró)	r·rïrñÚsizeÚoffsetrr[rõÚretsizerrrryGsÿz	FUSE.readcCs:t ||¡}|jr|j}n|jj}| d| |¡|||¡S)Nrz)r"Ú	string_atrÍr¯r[rÌrð)r·rïrñr
rrrör[rrrrzZsÿz
FUSE.writecCsF|j}| d| |j¡¡}| ¡D]\}}t||ƒr"t|||ƒq"dS)Nr{r)r¯rÌrírÇr¥r¨r©)r·rïrñZstvr«r,r-rrrr{es
zFUSE.statfscCs*|jr|j}n|jj}| d| |¡|¡S)NrX©rÍr¯r[rÌrð©r·rïrr[rrrrXnsz
FUSE.flushcCs*|jr|j}n|jj}| d| |¡|¡S)Nr|rrrrrr|vszFUSE.releasecCs,|jr|j}n|jj}| d| |¡||¡S)Nr}r)r·rïÚdatasyncrr[rrrr}~sÿz
FUSE.fsynccGs2|jd| |j¡| |j¡t ||¡|g|¢RŽS)Nr~)rÌrírÇr"r
)r·rïrÞrâr
Úoptionsrrrrr~‡s
þþz
FUSE.setxattrc	Gsd|jd| |j¡| |j¡g|¢RŽ}t|ƒ}|s6|S||krFtjSt ||¡}t |||¡|S)Nr)	rÌrírÇrØr¸ÚERANGEr"ròró)	r·rïrÞrâr
rrõrrñrrrrŒs
ÿÿz
FUSE.getxattrcCs„| d| |j¡¡pd}d |¡ |j¡}t|ƒdkrF|d |j¡7}t|ƒ}|sV|S||krftjSt 	||¡}t 
|||¡|S)Nr€Úúr)rÌrírÇrÖrÆrØr¸rr"ròró)r·rïZnamebufr
r«rõrrñrrrr€ŸszFUSE.listxattrcCs| d| |j¡| |j¡¡S)Nrr÷©r·rïrÞrrrr³s
ÿzFUSE.removexattrcCs| d| |j¡¡|j_dS)Nr‚r)rÌrírÇr¯r[©r·rïrrrrr‚·s
ÿzFUSE.opendirc
Cs†| d| |¡|jj¡D]h}t|tƒr8|dd}}}n*|\}}	}|	r^tƒ}t||	|jdnd}||| 	|j
¡||ƒdkrq‚qdS)Nrƒr©rŸ)rÌrðr¯r[ràÚ
basestringr'r¬rŸrÆrÇ)
r·rïrñZfillerrrÚitemrÞrªr«rrrrƒ¾sÿ

zFUSE.readdircCs| d| |¡|jj¡S)Nr„©rÌrðr¯r[rrrrr„ÒsÿzFUSE.releasedircCs| d| |¡||jj¡S)Nr…r)r·rïrrrrrr…×sÿz
FUSE.fsyncdircCs| dd¡S)Nr†ú/©rÌ)r·Zconnrrrr†Üsz	FUSE.initcCs| dd¡S)Nr‡rr)r·rerrrr‡ßszFUSE.destroycCs| d| |j¡|¡S)Nrˆr÷©r·rïZamoderrrrˆâszFUSE.accesscCs@|j}| |j¡}|jr(| d|||¡S| d||¡|_dSdS)Nr‰r)r¯rírÇrÍrÌr[)r·rïrùrr	rrrr‰åszFUSE.createcCs,|jr|j}n|jj}| d| |¡||¡Srr)r·rïrrr[rrrrŠïsÿzFUSE.ftruncatecCsbt |dt t¡¡|j}|s$|}n|jr2|j}n|jj}| d| |¡|¡}t	|||j
ddS)Nrrkr)r"ZmemsetrÛr'r¯rÍr[rÌrðr¬rŸ)r·rïrñrrªr[r«rrrr‹øsz
FUSE.fgetattrcCs.|jr|j}n|jj}| d| |¡|||¡S)NrŒr)r·rïrÚcmdrŒr[rrrrŒsÿz	FUSE.lockcCsL|r2t|jj|jd}t|jj|jd}||f}nd}| d| |j¡|¡S)Nrr)r r¯r%rŸr&rÌrírÇ)r·rïrñZatimeÚmtimeÚtimesrrrrs
zFUSE.utimenscCs| d| |j¡||¡S)NrŽr÷)r·rïÚ	blocksizeÚidxrrrrŽsÿz	FUSE.bmapc	Cs4|jr|j}n|jj}| d| |j¡|||||¡S)Nr)rÍr¯r[rÌrírÇ)r·rïrrÁrrRrör[rrrrs
ÿz
FUSE.ioctlN)Fr¾)/rrrÚ__doc__rÓr´Ústaticmethodr×rÙrðrkrlrmrnrorprqrrrsrtrurvrxryrzr{rXr|r}r~rr€rr‚rƒr„r…r†r‡rˆr‰rŠr‹rŒrrŽrrrrrr¼jsZ
Q

*
	
		
		
r¼c@s4eZdZdZdd„Zdd„ZdZdd„Zd	d
„ZdHdd„Z	d
d„Z
dd„Zdd„Zdd„Z
dIdd„ZdJdd„Zdd„Zdd„Zdd„Zd d!„ZdZd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Zd6d7„Zd8d9„Z dKd:d;„Z!d<d=„Z"d>d?„Z#dLd@dA„Z$dBdC„Z%dMdDdE„Z&dFdG„Z'dS)NÚ
Operationsa!
    This class should be subclassed and passed as an argument to FUSE on
    initialization. All operations should raise a FuseOSError exception on
    error.

    When in doubt of what an operation should do, check the FUSE header file
    or the corresponding system call man page.
    cGs"t||ƒsttjƒ‚t||ƒ|ŽSr)r¨r²r¸rërk)r·ÚoprrrrÚ__call__1s

zOperations.__call__cCsdS©Nrrrrrrrˆ6szOperations.accessNcCsttjƒ‚dSr©r²r¸ZEROFSrûrrrrt;szOperations.chmodcCsttjƒ‚dSrr)rrrrru>szOperations.chowncCsttjƒ‚dS)zß
        When raw_fi is False (default case), fi is None and create should
        return a numerical file handle.

        When raw_fi is True the file handle should be set directly by create
        and return 0.
        Nr))r·rïrùr	rrrr‰As	zOperations.createcCsdS)z2Called on filesystem destruction. Path is always /Nrrîrrrr‡LszOperations.destroycCsdSr(r©r·rïr[rrrrXQszOperations.flushcCsdSr(r©r·rïrr[rrrr}TszOperations.fsynccCsdSr(rr+rrrr…WszOperations.fsyncdircCs"|dkrttjƒ‚ttdBddS)aw
        Returns a dictionary with keys identical to the stat C structure of
        stat(2).

        st_atime, st_mtime and st_ctime should be floats.

        NOTE: There is an incompatibility between Linux and Mac OS X
        concerning st_nlink of directories. Mac OS X counts all files inside
        the directory, while Linux counts only the subdirectories.
        riírÊ)r3r4)r²r¸ÚENOENTÚdictrr*rrrrkZs
zOperations.getattrrcCsttƒ‚dSr©r²ÚENOTSUP)r·rïrÞÚpositionrrrrjszOperations.getxattrcCsdS)z•
        Called on filesystem initialization. (Path is always /)

        Use it instead of __init__ if you start threads on initialization.
        Nrrîrrrr†mszOperations.initcCsttjƒ‚dSr)r²r¸ZENOTTY)r·rïrrÁrrRrörrrrvszOperations.ioctlcCsttjƒ‚dS)rNr)©r·rÿrþrrrrsyszOperations.linkcCsgSrrrîrrrr€~szOperations.listxattrcCsttjƒ‚dSrr)rûrrrrnƒszOperations.mkdircCsttjƒ‚dSrr)rørrrrm†szOperations.mknodcCsdS)zü
        When raw_fi is False (default case), open should return a numerical
        file handle.

        When raw_fi is True the signature of open becomes:
            open(self, path, fi)

        and the file handle should be set directly.
        rr)r·rïrRrrrrx‰szOperations.opencCsdS)z Returns a numerical file handle.rrrîrrrr‚–szOperations.opendircCsttjƒ‚dS)z/Returns a string containing the data requested.N)r²r¸ZEIO)r·rïr
rr[rrrry›szOperations.readcCsddgS)z†
        Can return either a list of names, or a list of (name, attrs, offset)
        tuples. attrs is a dict as in getattr.
        Ú.z..rr*rrrrƒ szOperations.readdircCsttjƒ‚dSr)r²r¸r,rîrrrrl¨szOperations.readlinkcCsdSr(rr*rrrr|«szOperations.releasecCsdSr(rr*rrrr„®szOperations.releasedircCsttƒ‚dSrr.rrrrr±szOperations.removexattrcCsttjƒ‚dSrr)rrrrrr´szOperations.renamecCsttjƒ‚dSrr)rîrrrrp·szOperations.rmdircCsttƒ‚dSrr.)r·rïrÞrârr0rrrr~ºszOperations.setxattrcCsiS)zÂ
        Returns a dictionary with keys identical to the statvfs C structure of
        statvfs(3).

        On Mac OS X f_bsize and f_frsize must be a power of 2
        (minimum 512).
        rrîrrrr{½s	zOperations.statfscCsttjƒ‚dS)rüNr)r1rrrrqÈszOperations.symlinkcCsttjƒ‚dSrr))r·rïrr[rrrrvÍszOperations.truncatecCsttjƒ‚dSrr)rîrrrroÐszOperations.unlinkcCsdS)z:Times is a (atime, mtime) tuple. If None use current time.rr)r·rïr rrrrÓszOperations.utimenscCsttjƒ‚dSrr))r·rïrörr[rrrrzØszOperations.write)N)N)r)r)N)N)(rrrr#r'rˆrŽrtrur‰r‡rXr}r…rkrr†rrsr€rŒrnrmrxr‚ryrƒrlr|r„rrrrpr~r{rqrvrorrzrrrrr%'sJ	


	



r%c@seZdZe d¡Zdd„ZdS)ÚLoggingMixInzfuse.log-mixincGs°|j d||t|ƒ¡d}zzz2t||ƒ|g|¢RŽ}|WW|j d|t|ƒ¡Sty|}zt|ƒ}‚WYd}~n
d}~00W|j d|t|ƒ¡n|j d|t|ƒ¡0dS)Nz-> %s %s %sz[Unhandled Exception]z<- %s %s)rår½Úreprrkrär+)r·r&rïrrõrìrrrr'ßsûzLoggingMixIn.__call__N)rrrÚloggingÚ	getLoggerrår'rrrrr3Üs
r3)F)F)cZ
__future__rrrr"r¸r5rµrÏZctypes.utilrÚplatformrrrr	r
ÚstatrÚ	tracebackrÚ	functoolsr
ÚImportErrorrÚ	NameErrorr+r6råZ_systemZ_machineÚsysÚmaxsizeZc_int64r r_rPZc_int32Zc_uint32Ú
startswithZ	Structurerr$r'ÚenvironÚgetZ
_libfuse_pathZCDLLÚRTLD_GLOBALZ	_libiconvZ_winregr)Úwinregr.ÚHKEY_LOCAL_MACHINEÚEnvironmentErrorr­r¨r/r–rLrJrKrhZc_uint16r•r—rirgrr]r‘r’r“r”r˜r™r!ršr^Z
c_longlongr#Zc_ushortÚNotImplementedErrorr@rQrar®Zrestyperjr r¬r±rär²Úobjectr¼r%r3rrrrÚ<module>sr



ÿ



ý
ý
îó

þþ
ò

Ü
%
ò
ò
ñð
ÿÿò
þþ

@6