+
    iV+                    l   R t ^ RIHt ^ RIHt ]'       g   R]9   d   ^RIH	t	 M^ RI	t	 ^ RI
tR tR tR tR	 t ! R
 R]4      t^ RIt]	P(                  t^ RIHtHtHt ^ RIt]	P4                  t ]	P6                  t R R ltR R lt]	P<                  t]	P>                  t]	P@                  t ]	PB                  t!]	PD                  t"]	PF                  t#]	PH                  t$]	PJ                  t%]	PL                  t&R R lt'R>R R llt(]	PR                  t) ]	PT                  t* ]	PV                  t+ R R lt,]	PZ                  t-]	P\                  t.]	P^                  t/]	P`                  t0]	Pb                  t1 ! R R]24      t3]	Ph                  ! ]34       R R lt5R R lt6R R lt7R R  lt8R! R" lt9R# R$ lt: ! R% R&]24      t;]	Px                  ! ];4       R?R' R( llt= ! R) R*]24      t>]	P~                  ! ]>4       R+ R, lt@]	P                  tA]	P                  tB]	P                  tC]	P                  tD]	P                  tER- R. ltFR/ R0 ltG ! R1 R2]24      tH]	P                  ! ]H4       R3 R4 ltJR5 R6 ltKR7 R8 ltL]	P                  tM ]	P                  tN ]	P                  tO R9 tPR: R; ltQR< R= ltRR#   ] d	    ^ RIt ELi ; i)@zFile I/O functions for IDA.

You should not use standard C file I/O functions in modules. Use functions from this header, pro.h and fpro.h instead.
This file also declares a call_system() function.
)annotations)version_info.)_ida_diskioNc                     R V P                   P                  4       ,           pRV P                  P
                  : RV P                  P                  : RV: R2#   \        P                   d    Rp LPi ; i)z	proxy of  <r   z; z >)this__repr____builtin__	Exception	__class__
__module____name__)selfstrthiss   & BC:\Users\user\Downloads\ida93sp2\portable_win\python\ida_diskio.py
_swig_reprr      sg    		 2 2 44 "^^669     s   !A A43A4c                   a  V 3R  lpV# )c                  < VR 8X  d   S! WV4       R# VR8X  d   V P                   P                  V4       R# \        W4      '       d5   \        \	        \        V 4      V4      \        4      '       d   S! WV4       R# \        RV ,          4      h)r	   thisownz(You cannot add instance attributes to %sN)r	   ownhasattr
isinstancegetattrtypepropertyAttributeError)r   namevaluesets   &&&r   set_instance_attrE_swig_setattr_nondynamic_instance_variable.<locals>.set_instance_attr   su    6>E"YIIMM% T  ZT
D0I& &E" !K"       )r    r!   s   f r   *_swig_setattr_nondynamic_instance_variabler%      s    
 r#   c                   a  V 3R  lpV# )c                   < \        W4      '       d+   \        \        W4      \        4      '       g   S! WV4       R# \	        R V ,          4      h)z%You cannot add class attributes to %sN)r   r   r   r   r   )clsr   r   r    s   &&&r   set_class_attr?_swig_setattr_nondynamic_class_variable.<locals>.set_class_attr-   s:    3j1CX&N&N5! !H3!NOOr#   r$   )r    r)   s   f r   '_swig_setattr_nondynamic_class_variabler+   +   s    P
 r#   c                   a  V 3R lpV# )zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclassc                p   < S! V P                   V P                  V P                  P                  4       4      # N)r   	__bases____dict__copy)r(   	metaclasss   &r   wrapper$_swig_add_metaclass.<locals>.wrapper8   s'    s}}cll6G6G6IJJr#   r$   )r2   r3   s   f r   _swig_add_metaclassr5   5   s    KNr#   c                  >    ] tR t^=tRt]! ]P                  4      tRtR# )_SwigNonDynamicMetazKMeta class to enforce nondynamic attributes (no new attributes) for a classr$   N)	r   r   __qualname____firstlineno____doc__r+   r   __setattr____static_attributes__r$   r#   r   r7   r7   =   s    U9$:J:JKKr#   r7   )TupleListUnionc                    V ^8  d   QhRRRR/# )   subdirstrreturnr$   )formats   "r   __annotate__rF   N   s     & &3 &# &r#   c                .    \         P                  ! V 4      # )zgGet IDA directory (if subdir==nullptr) or the specified subdirectory (see IDA subdirectories) 
        )r   idadir)rB   s   &r   rH   rH   N   s     f%%r#   c               $    V ^8  d   QhRRRRRR/# )rA   filenamerC   rB   rD   r$   )rE   s   "r   rF   rF   T   s!     4 4 4c 4S 4r#   c                .    \         P                  ! W4      # )a  Search for IDA system file. This function searches for a file in:
0. each directory specified by IDAUSR%
1. ida directory [+ subdir]


and returns the first match. 
        
:param filename: name of file to search
:param subdir: if specified, the file is looked for in the specified subdirectory of the ida directory first (see IDA subdirectories)
:returns: nullptr if not found, otherwise a pointer to full file name.)r   
getsysfile)rJ   rB   s   &&r   rL   rL   T   s     !!(33r#   c                   V ^8  d   QhRR/# )rA   rD   rC   r$   )rE   s   "r   rF   rF   m   s     	) 	) 	)r#   c                 ,    \         P                  ! 4       # )zGet user ida related directory. 
if $IDAUSR is defined:
   - the first element in $IDAUSR
else
   - default user directory ($HOME/.idapro or %APPDATA%Hex-Rays/IDA Pro)


   )r   get_user_idadirr$   r#   r   rO   rO   m   s     &&((r#   c               $    V ^8  d   QhRRRRRR/# )rA   rB   rC   flagsintrD   z'qstrvec_t *'r$   )rE   s   "r   rF   rF   y   s!     
6 
6C 
6 
6 
6r#   c                .    \         P                  ! W4      # )aq  Get list of directories in which to find a specific IDA resource (see IDA subdirectories). The order of the resulting list is as follows: 
     [$IDAUSR/subdir (0..N entries)]
     $IDADIR/subdir


        
:param subdir: name of the resource to list (can be nullptr)
:param flags: Subdirectory modification flags bits
:returns: number of directories appended to 'dirs')r   get_ida_subdirs)rB   rQ   s   &&r   rT   rT   y   s     &&v55r#   c                    V ^8  d   QhRRRR/# )rA   csidlrR   rD   rC   r$   )rE   s   "r   rF   rF      s     1 1c 1S 1r#   c                .    \         P                  ! V 4      # )zfGet a folder location by CSIDL (see Common CSIDLs). Path should be of at least MAX_PATH size 
        )r   get_special_folder)rV   s   &r   rX   rX      s     ))%00r#   c                  d    ] tR t^t]! R R RR7      t]tR R lt]	P                  tR tR tR	tR
# )file_enumerator_tc                	6    V P                   P                  4       # r.   r	   r   xs   &r   <lambda>file_enumerator_t.<lambda>       r#   c                	8    V P                   P                  V4      # r.   r\   r^   vs   &&r   r_   r`          AFFJJqMr#   The membership flagdocc                    V ^8  d   QhRRRR/# )rA   filerC   rD   rR   r$   )rE   s   "r   rF   file_enumerator_t.__annotate__   s     D Ds Dc Dr#   c                	.    \         P                  ! W4      # r.   )r   file_enumerator_t_visit_file)r   rj   s   &&r   
visit_filefile_enumerator_t.visit_file   s    77CCr#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   rZ   r   file_enumerator_t_swiginitnew_file_enumerator_tr   _selfs   & r   __init__file_enumerator_t.__init__   s>    >>..EE..t[!!6""'6) 	*r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   disownr   disown_file_enumerator_tweakrefproxyr   s   &r   
__disown__file_enumerator_t.__disown__   s/    		,,T2}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   rn   r   delete_file_enumerator_t__swig_destroy__ru   r}   r<   r$   r#   r   rZ   rZ      s6    -/I!#GHD";;*#r#   rZ   c                    V ^8  d   QhRRRR/# rA   rj   rC   rD   z'FILE *'r$   )rE   s   "r   rF   rF           % %# % %r#   c                .    \         P                  ! V 4      # r.   )r   fopenWTrj   s   &r   r   r          t$$r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   rF      r   r#   c                .    \         P                  ! V 4      # r.   )r   fopenWBr   s   &r   r   r      r   r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   rF      r   r#   c                .    \         P                  ! V 4      # r.   )r   fopenRTr   s   &r   r   r      r   r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   rF      r   r#   c                .    \         P                  ! V 4      # r.   )r   fopenRBr   s   &r   r   r      r   r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   rF           $ $ $ $r#   c                .    \         P                  ! V 4      # r.   )r   fopenMr   s   &r   r   r          d##r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   rF      r   r#   c                .    \         P                  ! V 4      # r.   )r   fopenAr   s   &r   r   r      r   r#   c                  d    ] tR t^t]! R R RR7      t]t]P                  t
R R ltR tR tR	tR
# )ioports_fallback_tc                	6    V P                   P                  4       # r.   r\   r]   s   &r   r_   ioports_fallback_t.<lambda>   ra   r#   c                	8    V P                   P                  V4      # r.   r\   rc   s   &&r   r_   r      re   r#   rf   rg   c               $    V ^8  d   QhRRRRRR/# )rA   portsz'ioports_t const &'linerC   rD   boolr$   )rE   s   "r   rF   ioports_fallback_t.__annotate__   s'     H H/ Hs Hd Hr#   c                0    \         P                  ! WV4      # )z{:param ports: i/o port definitions
:param line: input line to parse
:returns: success or fills ERRBUF with an error message)r   ioports_fallback_t_handle)r   r   r   s   &&&r   handleioports_fallback_t.handle   s     44T$GGr#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r   r   ioports_fallback_t_swiginitnew_ioports_fallback_trs   s   & r   ru   ioports_fallback_t.__init__   s>    >>//EE//k""7##(7* 	+r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   rx   r   disown_ioports_fallback_trz   r{   r|   s   &r   r}   ioports_fallback_t.__disown__   s/    		--d3}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r   delete_ioports_fallback_tr   r   ru   r}   r<   r$   r#   r   r   r      s6    -/I!#GH"<<H+#r#   r   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rA   r   z'ioports_t *'devicerC   rj   callbackz'ioports_fallback_t'rD   	'ssize_t'r$   )rE   s   "r   rF   rF      s8     C C Cs C# CC!*Cr#   c                0    \         P                  ! WW#4      # r.   )r   read_ioports)r   r   rj   r   s   &&&&r   r   r      s    ##E4BBr#   c                  d    ] tR t^t]! R R RR7      t]t]P                  t
R R ltR tR tR	tR
# )choose_ioport_parser_tc                	6    V P                   P                  4       # r.   r\   r]   s   &r   r_   choose_ioport_parser_t.<lambda>   ra   r#   c                	8    V P                   P                  V4      # r.   r\   rc   s   &&r   r_   r      re   r#   rf   rg   c               $    V ^8  d   QhRRRRRR/# )rA   paramrC   r   rD   r   r$   )rE   s   "r   rF   #choose_ioport_parser_t.__annotate__   s&     K K3 Kc KT Kr#   c                0    \         P                  ! WV4      # )z:returns: true: and fill PARAM with a displayed string
:returns: false: and empty PARAM to skip the current device
:returns: false: and fill PARAM with an error message)r   choose_ioport_parser_t_parse)r   r   r   s   &&&r   parsechoose_ioport_parser_t.parse   s     77TJJr#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r   r   choose_ioport_parser_t_swiginitnew_choose_ioport_parser_trs   s   & r   ru   choose_ioport_parser_t.__init__   s>    >>33EE33D+&&;'',;. 	/r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   rx   r   disown_choose_ioport_parser_trz   r{   r|   s   &r   r}   !choose_ioport_parser_t.__disown__  s/    		11$7}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r   delete_choose_ioport_parser_tr   r   ru   r}   r<   r$   r#   r   r   r      s6    -/I!#GH"@@K/#r#   r   c               (    V ^8  d   QhRRRRRRRR/# )rA   _devicerC   rj   parse_paramsz'choose_ioport_parser_t'rD   r   r$   )rE   s   "r   rF   rF     s0     J J3 Jc JJ $Jr#   c                0    \         P                  ! WV4      # r.   )r   choose_ioport_device2)r   rj   r   s   &&&r   r   r     s    ,,WLIIr#   c               $    V ^8  d   QhRRRRRR/# )rA   li'linput_t *'fposz'int64'rD   rC   r$   )rE   s   "r   rF   rF     s!     ( (| (7 (c (r#   c                .    \         P                  ! W4      # r.   )r   qlgetz)r   r   s   &&r   r   r     s    b''r#   c               $    V ^8  d   QhRRRRRR/# )rA   rj   rC   remoter   rD   r   r$   )rE   s   "r   rF   rF     s!     1 1c 14 1< 1r#   c                .    \         P                  ! W4      # r.   )r   open_linput)rj   r   s   &&r   r   r     s    ""400r#   c                      ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&   ]! ]	P                  ]	P                  4      tR	]R
&   R R lt]	P$                  tRtR# )generic_linput_ti#  c                	6    V P                   P                  4       # r.   r\   r]   s   &r   r_   generic_linput_t.<lambda>$  ra   r#   c                	8    V P                   P                  V4      # r.   r\   rc   s   &&r   r_   r   $  re   r#   rf   rg   c                	    \        R 4      h)z*No constructor defined - class is abstract)r   )r   argskwargss   &*,r   ru   generic_linput_t.__init__'  s    IJJr#   z'uint64'filesizerR   	blocksizec               (    V ^8  d   QhRRRRRRRR/# )	rA   offz
'qoff64_t'bufferz'void *'nbytesrR   rD   r   r$   )rE   s   "r   rF   generic_linput_t.__annotate__/  s.     L L
 LH Lc LY Lr#   c                	0    \         P                  ! WW#4      # r.   )r   generic_linput_t_read)r   r   r   r   s   &&&&r   readgeneric_linput_t.read/  s    00FKKr#   r$   N)r   r   r8   r9   r   r   ru   r   r
   r   generic_linput_t_filesize_getgeneric_linput_t_filesize_setr   __annotations__generic_linput_t_blocksize_getgeneric_linput_t_blocksize_setr   r   delete_generic_linput_tr   r<   r$   r#   r   r   r   #  sv    -/I!#GKH!+"K"K113Hh 3kHH224Is 4L"::r#   r   c                    V ^8  d   QhRRRR/# )rA   glz'generic_linput_t'rD   r   r$   )rE   s   "r   rF   rF   7  s     1 10 1L 1r#   c                .    \         P                  ! V 4      # r.   )r   create_generic_linput)r   s   &r   r   r   7  s    ,,R00r#   c               $    V ^8  d   QhRRRRRR/# )rA   startzida_idaapi.ea_tsizez	'asize_t'rD   r   r$   )rE   s   "r   rF   rF   ;  s"     9 9 9y 99r#   c                .    \         P                  ! W4      # r.   )r   create_memory_linput)r   r   s   &&r   r   r   ;  s    ++E88r#   c                    V ^8  d   QhRRRR/# )rA   r   r   rD   z'linput_type_t'r$   )rE   s   "r   rF   rF   @  s     + + + +r#   c                .    \         P                  ! V 4      # r.   )r   get_linput_typer   s   &r   r   r   @  s    &&r**r#   c                0    \         P                  ! WV4      # )a  Enumerate files in the specified directory while the callback returns 0.

:param path: directory to enumerate files in
:param fname: mask of file names to enumerate
:param callback: a callable object that takes the filename as
                 its first argument and it returns 0 to continue
                 enumeration or non-zero to stop enumeration.
:returns: tuple(code, fname) : If the callback returns non-zero, or None in case of script errors)r   enumerate_files)pathfnamer   s   &&&r   r   r   O  s     &&tH==r#   c                    V ^8  d   QhRRRR/# )rA   srC   rD   r   r$   )rE   s   "r   rF   rF   [  s     2 2s 2l 2r#   c                .    \         P                  ! V 4      # r.   )r   create_bytearray_linput)r  s   &r   r  r  [  s    ..q11r#   c                    V ^8  d   QhRRRR/# )rA   r   r   rD   Noner$   )rE   s   "r   rF   rF   _  s     ( (\ (T (r#   c                .    \         P                  ! V 4      # r.   )r   close_linputr   s   &r   r
  r
  _  s    ##B''r#   )    r.   )Sr:   
__future__r   sysr   _swig_python_version_info__package__r   r   r   builtinsr   ImportErrorr   r%   r+   r5   r   r7   rz   SWIG_PYTHON_LEGACY_BOOLtypingr=   r>   r?   
ida_idaapiVAULT_CACHE_SUBDIRVAULT_CACHE_FNAMErH   rL   
CFG_SUBDIR
IDC_SUBDIR
IDS_SUBDIR
IDP_SUBDIR
LDR_SUBDIR
SIG_SUBDIR
TIL_SUBDIR
PLG_SUBDIR
THM_SUBDIRrO   rT   IDA_SUBDIR_IDPIDA_SUBDIR_IDADIR_FIRSTIDA_SUBDIR_ONLY_EXISTINGrX   CSIDL_APPDATACSIDL_LOCAL_APPDATACSIDL_PROGRAM_FILESCSIDL_PROGRAM_FILES_COMMONCSIDL_PROGRAM_FILESX86objectrZ   file_enumerator_t_swigregisterr   r   r   r   r   r   r   ioports_fallback_t_swigregisterr   r   #choose_ioport_parser_t_swigregisterr   LINPUT_NONELINPUT_LOCALLINPUT_RFILELINPUT_PROCMEMLINPUT_GENERICr   r   r   generic_linput_t_swigregisterr   r   r   	LOC_CLOSE
LOC_UNMAKELOC_KEEPr   r  r
  r$   r#   r   <module>r5     s  
 # 9#/"
 L$ L
 %==  % %  33 11 &4 ##
##
##
##
##
##
##
##
##
	)
6 ++%== &?? 1 ))!55 !55 (CC $;; # #.  * *+< =%%%%$$# #4  + +,> ?C
#V #4  / /0F GJ
 %%''''++++(1;v ;"  ) )*: ;19
+ !!	##
	>2(c
  s   J$ $J32J3