HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/thread-self/root/usr/share/netplan/netplan/__pycache__/libnetplan.cpython-38.pyc
U

��~f�$�@s�ddlZddlZddlmZmZmZGdd�de�ZGdd�dej�ZGdd�dej�Z	Gd	d
�d
ej�Z
Gdd�dej�Ze�ej
�d
��Zeje�e�e��gej_ejej_ejgej_ejej_e�e�e��Ze�e
�Ze�e	�Ze�e�Zejej_dd�Zdd�Zdd�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�Z Gdd�de�Z!dd�Z"eeeegej#_eej#_d d!�Z$dS)"�N)�c_char_p�c_void_p�c_intc@seZdZdS)�LibNetplanExceptionN��__name__�
__module__�__qualname__�r
r
�(/usr/share/netplan/netplan/libnetplan.pyrsrc@s$eZdZdejfdefdefgZdS)�_GError�domain�code�messageN)rrr	�ctypesZc_uint32rrZ_fields_r
r
r
rrsrc@seZdZdS)�_netplan_stateNrr
r
r
rr src@seZdZdS)�_netplan_parserNrr
r
r
rr$src@seZdZdS)�_netplan_net_definitionNrr
r
r
rr(sr�netplancCsnt��t�t��}tt�|��t�|���}|sDt	|j
j�d���t�
t�|��|rjt	|j
j�d���dS)N�utf-8T)�lib�netplan_clear_netdefsr�POINTERr�bool�netplan_parse_yaml�encode�byref�	Exception�contentsr�decode�netplan_finish_parse)�path�err�retr
r
r�
netplan_parse:sr$cGs>t�t��}t||t�|�f���}|s:t|jj�d���dS�Nr)	rrrrrrrrr)�fn�argsr"r#r
r
r�_checked_lib_callGsr(cCs&t�|��|���}|r"|�d�SdSr%)r�netplan_get_filename_by_idrr)�	netdef_id�rootdir�resr
r
rr)Nsr)c@s<eZdZdZedd��Zdd�Zdd�Zdd	�Zd
d�Z	dS)
�ParserFcCsB|jr
dSttj_t�t�gtj_tt	t
gtj_ttj_d|_dS�NT)
�_abi_loaded�_NetplanParserPr�netplan_parser_new�restyperr�netplan_parser_clear�argtypesr�	_GErrorPP�netplan_parser_load_yamlr��clsr
r
r�	_load_abiVszParser._load_abicCs|��t��|_dS�N)r9rr1�_ptr��selfr
r
r�__init__cszParser.__init__cCst�t�|j��dSr:)rr3rrr;r<r
r
r�__del__gszParser.__del__cCsttj|j|�d��dSr%)r(rr6r;r)r=�filenamer
r
r�	load_yamljszParser.load_yamlcCsttj|j|�d��dSr%)r(rZ"netplan_parser_load_yaml_hierarchyr;r)r=r+r
r
r�load_yaml_hierarchymszParser.load_yaml_hierarchyN)
rrr	r/�classmethodr9r>r?rArBr
r
r
rr-Ss
r-c@sLeZdZdZedd��Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�ZdS)�StateFcCs�|jr
dSttj_t�t�gtj_tt	t
gtj_ttj_tgtj
_ttj
_ttgtj_ttj_ttt
gtj_ttj_tgtj_ttj_tgtj_ttj_d|_dSr.)r/�_NetplanStatePr�netplan_state_newr2rr�netplan_state_clearr4r0r5�#netplan_state_import_parser_resultsr�netplan_state_get_netdefs_sizer�netplan_state_get_netdef�_NetplanNetDefinitionP�netplan_state_dump_yaml�'netplan_netdef_get_embedded_switch_mode�1netplan_netdef_get_delay_virtual_functions_rebindr7r
r
rr9ts"


zState._load_abicCs|��t��|_dSr:)r9rrFr;r<r
r
rr>�szState.__init__cCst�t�|j��dSr:)rrGrrr;r<r
r
rr?�sz
State.__del__cCsttj|j|j�dSr:)r(rrHr;)r=�parserr
r
r�import_parser_results�szState.import_parser_resultscCs|��}ttj|j|�dSr:)�filenor(rrLr;)r=�output_file�fdr
r
r�	dump_yaml�szState.dump_yamlcCst�|j�Sr:)rrIr;r<r
r
r�__len__�sz
State.__len__cCs(t�|j|�d��}|st��t||�Sr%)rrJr;r�
IndexError�
NetDefinition)r=Zdef_id�ptrr
r
r�__getitem__�szState.__getitem__N)rrr	r/rCr9r>r?rPrTrUrYr
r
r
rrDqs
rDc@sPeZdZdZedd��Zdd�Zdd�Zedd	��Z	ed
d��Z
edd
��ZdS)rWFcCs&|jr
dStgtj_ttj_d|_dSr.)r/rKr�netplan_netdef_get_idr4rr2r7r
r
rr9�s

zNetDefinition._load_abicCs*t|d�sdSt�|jj�t�|jj�kS)Nr;F)�hasattrrZ	addressofr;r)r=�otherr
r
r�__eq__�s
zNetDefinition.__eq__cCs|��||_||_dSr:)r9r;Z_parent)r=�np_staterXr
r
rr>�szNetDefinition.__init__cCst�|j��d�Sr%)rrZr;rr<r
r
r�id�szNetDefinition.idcCst�|j�}|o|�d�Sr%)rrMr;r)r=�moder
r
r�embedded_switch_mode�sz"NetDefinition.embedded_switch_modecCstt�|j��Sr:)rrrNr;r<r
r
r�delay_virtual_functions_rebind�sz,NetDefinition.delay_virtual_functions_rebindN)rrr	r/rCr9r]r>�propertyr_rarbr
r
r
rrW�s
	

rWc@s<eZdZdZedd��Zdd�Zdd�Zdd	�Zd
d�Z	dS)
�_NetdefIteratorFcCsp|jr
dSttd�std��ttgtj_ttj_	tgtj
_ttj
_	tgtj_dtj_	tgtj
_ttj
_	d|_dS)NZ#_netplan_iter_defs_per_devtype_initz�
                The current version of libnetplan does not allow iterating by devtype.
                Please ensure that both the netplan CLI package and its library are up to date.
            T)r/r[rrrEr�&_netplan_state_new_netdef_pertype_iterr4rr2�#_netplan_iter_defs_per_devtype_nextrK�#_netplan_iter_defs_per_devtype_freeZ_netplan_netdef_idr7r
r
rr9�s



z_NetdefIterator._load_abicCs,|��||_t�|j|o"|�d��|_dSr%)r9r^rrer;r�iterator)r=r^�devtyper
r
rr>�sz_NetdefIterator.__init__cCst�|j�dSr:)rrgrhr<r
r
rr?�sz_NetdefIterator.__del__cCs|Sr:r
r<r
r
r�__iter__�sz_NetdefIterator.__iter__cCs t�|j�}|st�t|j|�Sr:)rrfrh�
StopIterationrWr^)r=Z
next_valuer
r
r�__next__�sz_NetdefIterator.__next__N)
rrr	r/rCr9r>r?rjrlr
r
r
rrd�s
rdc@seZdZdd�Zdd�ZdS)�
__GlobalStatecCst�tjt�|_dSr:)r�castrZglobal_staterEr;r<r
r
rr>�sz__GlobalState.__init__cCsdSr:r
r<r
r
rr?sz__GlobalState.__del__N)rrr	r>r?r
r
r
rrm�srmcCsht�t��}t��t�|�d��t�t�|��|rJt	|j
j�d���t
tt�|��}dd�|D�S)NrcSsg|]
}|j�qSr
)r_)�.0Zndr
r
r�
<listcomp>
sz/netplan_get_ids_for_devtype.<locals>.<listcomp>)rrrrr�process_yaml_hierarchyrr rrrrr�listrdrm)rir+r"Zndsr
r
r�netplan_get_ids_for_devtypesrscCs"ttj|�d�|��|���dSr%)r(r�netplan_util_dump_yaml_subtreerrQ)�prefixZ
input_filerRr
r
r�dump_yaml_subtrees
�rv)%rZctypes.utilrrrrrZ	StructurerrrrZCDLL�utilZfind_libraryrrrr4r)r2rqr5r0rErKZnetplan_get_id_from_nm_filenamer$r(r-rDrWrdrmrsrtrvr
r
r
r�<module>s:






7'.