Ñò h'dWc@s^dZddkZddkZddklZlZddklZde fd„ƒYZ dS(s¥ Python package with ctypes wrapper for libadm(3LIB). libadm extvtoc access is provided by a Context Manager. Example: with ExtVTOCContext("c3t4d5") as extvtoc: # update extvtoc here # upon exiting context new extvtoc will be # written to disk. with ExtVTOCContext("c3t4d5", read_only=True) as extvtoc: # examine extvtoc here # will not be written upon exiting context iÿÿÿÿN(t read_extvtoct write_extvtoc(textvtoctExtVTOCContextcBs5eZdZed„Zd„Zd„Zd„ZRS(s0Context for examining and altering extended VTOCcCs-d||_| |_d\|_|_dS(Ns/dev/rdsk/%ss2(NN(t_rdskt_writetNonet_fdt_vtoc(tselftctdt read_only((s../__init__.pyt__init__5s  cCswti|ititiBƒ|_tƒ}t|iti |ƒƒ}|djot |d|ƒ‚n||_ |S(Nisread_extvtoc: %d( tostopenRtO_RDWRtO_NDELAYRRRtCtbyreftOSErrorR(R tvtocterr((s../__init__.pyt __enter__:s"   cCs=t|i|iƒ}|djot|d|ƒ‚ndS(Niswrite_extvtoc: %d(RRRR(R R((s../__init__.pytupdateDs cCsˆd}|itjo#|iot|i|iƒ}n|ioti|iƒn|djo t|dti|ƒƒ‚ndS(Niswrite_extvtoc: %s( RtTrueRRRR tcloseRtstrerror(R ttypetvaluet tracebackR((s../__init__.pyt__exit__Is  (t__name__t __module__t__doc__tFalseR RRR(((s../__init__.pyR3s   ( R!tctypesRR t libadm.cfuncRRtlibadm.cstructRtobjectR(((s../__init__.pyt)s