GUdev-1.0.gir 61 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367
  1. <?xml version="1.0"?>
  2. <!-- This file was automatically generated from C sources - DO NOT EDIT!
  3. To affect the contents of this file, edit the original C definitions,
  4. and/or use gtk-doc annotations. -->
  5. <repository version="1.2"
  6. xmlns="http://www.gtk.org/introspection/core/1.0"
  7. xmlns:c="http://www.gtk.org/introspection/c/1.0"
  8. xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  9. <include name="GObject" version="2.0"/>
  10. <package name="gudev-1.0"/>
  11. <c:include name="gudev/gudev.h"/>
  12. <namespace name="GUdev"
  13. version="1.0"
  14. shared-library="libgudev-1.0.so.0"
  15. c:identifier-prefixes="GUdev"
  16. c:symbol-prefixes="g_udev">
  17. <alias name="DeviceNumber" c:type="GUdevDeviceNumber">
  18. <doc xml:space="preserve">Corresponds to the standard #dev_t type as defined by POSIX (Until
  19. bug 584517 is resolved this work-around is needed).</doc>
  20. <type name="guint64" c:type="guint64"/>
  21. </alias>
  22. <class name="Client"
  23. c:symbol-prefix="client"
  24. c:type="GUdevClient"
  25. parent="GObject.Object"
  26. glib:type-name="GUdevClient"
  27. glib:get-type="g_udev_client_get_type"
  28. glib:type-struct="ClientClass">
  29. <doc xml:space="preserve">#GUdevClient is used to query information about devices on a Linux
  30. system from the Linux kernel and the udev device
  31. manager.
  32. Device information is retrieved from the kernel (through the
  33. &lt;literal&gt;sysfs&lt;/literal&gt; filesystem) and the udev daemon (through a
  34. &lt;literal&gt;tmpfs&lt;/literal&gt; filesystem) and presented through
  35. #GUdevDevice objects. This means that no blocking IO ever happens
  36. (in both cases, we are essentially just reading data from kernel
  37. memory) and as such there are no asynchronous versions of the
  38. provided methods.
  39. To get #GUdevDevice objects, use
  40. g_udev_client_query_by_subsystem(),
  41. g_udev_client_query_by_device_number(),
  42. g_udev_client_query_by_device_file(),
  43. g_udev_client_query_by_sysfs_path(),
  44. g_udev_client_query_by_subsystem_and_name()
  45. or the #GUdevEnumerator type.
  46. To listen to uevents, connect to the #GUdevClient::uevent signal.</doc>
  47. <constructor name="new" c:identifier="g_udev_client_new">
  48. <doc xml:space="preserve">Constructs a #GUdevClient object that can be used to query
  49. information about devices. Connect to the #GUdevClient::uevent
  50. signal to listen for uevents. Note that signals are emitted in the
  51. &lt;link linkend="g-main-context-push-thread-default"&gt;thread-default main loop&lt;/link&gt;
  52. of the thread that you call this constructor from.</doc>
  53. <return-value transfer-ownership="full">
  54. <doc xml:space="preserve">A new #GUdevClient object. Free with g_object_unref().</doc>
  55. <type name="Client" c:type="GUdevClient*"/>
  56. </return-value>
  57. <parameters>
  58. <parameter name="subsystems"
  59. transfer-ownership="none"
  60. nullable="1"
  61. allow-none="1">
  62. <doc xml:space="preserve">A %NULL terminated string array of subsystems to listen for uevents on, %NULL to not listen on uevents at all, or an empty array to listen to uevents on all subsystems. See the documentation for the #GUdevClient:subsystems property for details on this parameter.</doc>
  63. <array c:type="gchar**">
  64. <type name="utf8"/>
  65. </array>
  66. </parameter>
  67. </parameters>
  68. </constructor>
  69. <virtual-method name="uevent">
  70. <return-value transfer-ownership="none">
  71. <type name="none" c:type="void"/>
  72. </return-value>
  73. <parameters>
  74. <instance-parameter name="client" transfer-ownership="none">
  75. <type name="Client" c:type="GUdevClient*"/>
  76. </instance-parameter>
  77. <parameter name="action" transfer-ownership="none">
  78. <type name="utf8" c:type="const gchar*"/>
  79. </parameter>
  80. <parameter name="device" transfer-ownership="none">
  81. <type name="Device" c:type="GUdevDevice*"/>
  82. </parameter>
  83. </parameters>
  84. </virtual-method>
  85. <method name="query_by_device_file"
  86. c:identifier="g_udev_client_query_by_device_file">
  87. <doc xml:space="preserve">Looks up a device for a device file.</doc>
  88. <return-value transfer-ownership="full" nullable="1">
  89. <doc xml:space="preserve">A #GUdevDevice object or %NULL
  90. if the device was not found. Free with g_object_unref().</doc>
  91. <type name="Device" c:type="GUdevDevice*"/>
  92. </return-value>
  93. <parameters>
  94. <instance-parameter name="client" transfer-ownership="none">
  95. <doc xml:space="preserve">A #GUdevClient.</doc>
  96. <type name="Client" c:type="GUdevClient*"/>
  97. </instance-parameter>
  98. <parameter name="device_file" transfer-ownership="none">
  99. <doc xml:space="preserve">A device file.</doc>
  100. <type name="utf8" c:type="const gchar*"/>
  101. </parameter>
  102. </parameters>
  103. </method>
  104. <method name="query_by_device_number"
  105. c:identifier="g_udev_client_query_by_device_number">
  106. <doc xml:space="preserve">Looks up a device for a type and device number.</doc>
  107. <return-value transfer-ownership="full" nullable="1">
  108. <doc xml:space="preserve">A #GUdevDevice object or %NULL
  109. if the device was not found. Free with g_object_unref().</doc>
  110. <type name="Device" c:type="GUdevDevice*"/>
  111. </return-value>
  112. <parameters>
  113. <instance-parameter name="client" transfer-ownership="none">
  114. <doc xml:space="preserve">A #GUdevClient.</doc>
  115. <type name="Client" c:type="GUdevClient*"/>
  116. </instance-parameter>
  117. <parameter name="type" transfer-ownership="none">
  118. <doc xml:space="preserve">A value from the #GUdevDeviceType enumeration.</doc>
  119. <type name="DeviceType" c:type="GUdevDeviceType"/>
  120. </parameter>
  121. <parameter name="number" transfer-ownership="none">
  122. <doc xml:space="preserve">A device number.</doc>
  123. <type name="DeviceNumber" c:type="GUdevDeviceNumber"/>
  124. </parameter>
  125. </parameters>
  126. </method>
  127. <method name="query_by_subsystem"
  128. c:identifier="g_udev_client_query_by_subsystem">
  129. <doc xml:space="preserve">Gets all devices belonging to @subsystem.</doc>
  130. <return-value transfer-ownership="full" nullable="1">
  131. <doc xml:space="preserve">A
  132. list of #GUdevDevice objects. The caller should free the result by
  133. using g_object_unref() on each element in the list and then
  134. g_list_free() on the list.</doc>
  135. <type name="GLib.List" c:type="GList*">
  136. <type name="Device"/>
  137. </type>
  138. </return-value>
  139. <parameters>
  140. <instance-parameter name="client" transfer-ownership="none">
  141. <doc xml:space="preserve">A #GUdevClient.</doc>
  142. <type name="Client" c:type="GUdevClient*"/>
  143. </instance-parameter>
  144. <parameter name="subsystem"
  145. transfer-ownership="none"
  146. nullable="1"
  147. allow-none="1">
  148. <doc xml:space="preserve">The subsystem to get devices for or %NULL to get all devices.</doc>
  149. <type name="utf8" c:type="const gchar*"/>
  150. </parameter>
  151. </parameters>
  152. </method>
  153. <method name="query_by_subsystem_and_name"
  154. c:identifier="g_udev_client_query_by_subsystem_and_name">
  155. <doc xml:space="preserve">Looks up a device for a subsystem and name.</doc>
  156. <return-value transfer-ownership="full" nullable="1">
  157. <doc xml:space="preserve">A #GUdevDevice object or %NULL
  158. if the device was not found. Free with g_object_unref().</doc>
  159. <type name="Device" c:type="GUdevDevice*"/>
  160. </return-value>
  161. <parameters>
  162. <instance-parameter name="client" transfer-ownership="none">
  163. <doc xml:space="preserve">A #GUdevClient.</doc>
  164. <type name="Client" c:type="GUdevClient*"/>
  165. </instance-parameter>
  166. <parameter name="subsystem" transfer-ownership="none">
  167. <doc xml:space="preserve">A subsystem name.</doc>
  168. <type name="utf8" c:type="const gchar*"/>
  169. </parameter>
  170. <parameter name="name" transfer-ownership="none">
  171. <doc xml:space="preserve">The name of the device.</doc>
  172. <type name="utf8" c:type="const gchar*"/>
  173. </parameter>
  174. </parameters>
  175. </method>
  176. <method name="query_by_sysfs_path"
  177. c:identifier="g_udev_client_query_by_sysfs_path">
  178. <doc xml:space="preserve">Looks up a device for a sysfs path.</doc>
  179. <return-value transfer-ownership="full" nullable="1">
  180. <doc xml:space="preserve">A #GUdevDevice object or %NULL
  181. if the device was not found. Free with g_object_unref().</doc>
  182. <type name="Device" c:type="GUdevDevice*"/>
  183. </return-value>
  184. <parameters>
  185. <instance-parameter name="client" transfer-ownership="none">
  186. <doc xml:space="preserve">A #GUdevClient.</doc>
  187. <type name="Client" c:type="GUdevClient*"/>
  188. </instance-parameter>
  189. <parameter name="sysfs_path" transfer-ownership="none">
  190. <doc xml:space="preserve">A sysfs path.</doc>
  191. <type name="utf8" c:type="const gchar*"/>
  192. </parameter>
  193. </parameters>
  194. </method>
  195. <property name="subsystems"
  196. writable="1"
  197. construct-only="1"
  198. transfer-ownership="none">
  199. <doc xml:space="preserve">The subsystems to listen for uevents on.
  200. To listen for only a specific DEVTYPE for a given SUBSYSTEM, use
  201. "subsystem/devtype". For example, to only listen for uevents
  202. where SUBSYSTEM is usb and DEVTYPE is usb_interface, use
  203. "usb/usb_interface".
  204. If this property is %NULL, then no events will be reported. If
  205. it's the empty array, events from all subsystems will be
  206. reported.</doc>
  207. <array>
  208. <type name="utf8"/>
  209. </array>
  210. </property>
  211. <field name="parent">
  212. <type name="GObject.Object" c:type="GObject"/>
  213. </field>
  214. <field name="priv" readable="0" private="1">
  215. <type name="ClientPrivate" c:type="GUdevClientPrivate*"/>
  216. </field>
  217. <glib:signal name="uevent" when="last">
  218. <doc xml:space="preserve">Emitted when @client receives an uevent.
  219. This signal is emitted in the
  220. &lt;link linkend="g-main-context-push-thread-default"&gt;thread-default main loop&lt;/link&gt;
  221. of the thread that @client was created in.</doc>
  222. <return-value transfer-ownership="none">
  223. <type name="none" c:type="void"/>
  224. </return-value>
  225. <parameters>
  226. <parameter name="action" transfer-ownership="none">
  227. <doc xml:space="preserve">The action for the uevent e.g. "add", "remove", "change", "move", etc.</doc>
  228. <type name="utf8" c:type="gchar*"/>
  229. </parameter>
  230. <parameter name="device" transfer-ownership="none">
  231. <doc xml:space="preserve">Details about the #GUdevDevice the event is for.</doc>
  232. <type name="Device"/>
  233. </parameter>
  234. </parameters>
  235. </glib:signal>
  236. </class>
  237. <record name="ClientClass"
  238. c:type="GUdevClientClass"
  239. glib:is-gtype-struct-for="Client">
  240. <doc xml:space="preserve">Class structure for #GUdevClient.</doc>
  241. <field name="parent_class">
  242. <doc xml:space="preserve">Parent class.</doc>
  243. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  244. </field>
  245. <field name="uevent">
  246. <callback name="uevent">
  247. <return-value transfer-ownership="none">
  248. <type name="none" c:type="void"/>
  249. </return-value>
  250. <parameters>
  251. <parameter name="client" transfer-ownership="none">
  252. <type name="Client" c:type="GUdevClient*"/>
  253. </parameter>
  254. <parameter name="action" transfer-ownership="none">
  255. <type name="utf8" c:type="const gchar*"/>
  256. </parameter>
  257. <parameter name="device" transfer-ownership="none">
  258. <type name="Device" c:type="GUdevDevice*"/>
  259. </parameter>
  260. </parameters>
  261. </callback>
  262. </field>
  263. <field name="reserved1">
  264. <callback name="reserved1">
  265. <return-value transfer-ownership="none">
  266. <type name="none" c:type="void"/>
  267. </return-value>
  268. </callback>
  269. </field>
  270. <field name="reserved2">
  271. <callback name="reserved2">
  272. <return-value transfer-ownership="none">
  273. <type name="none" c:type="void"/>
  274. </return-value>
  275. </callback>
  276. </field>
  277. <field name="reserved3">
  278. <callback name="reserved3">
  279. <return-value transfer-ownership="none">
  280. <type name="none" c:type="void"/>
  281. </return-value>
  282. </callback>
  283. </field>
  284. <field name="reserved4">
  285. <callback name="reserved4">
  286. <return-value transfer-ownership="none">
  287. <type name="none" c:type="void"/>
  288. </return-value>
  289. </callback>
  290. </field>
  291. <field name="reserved5">
  292. <callback name="reserved5">
  293. <return-value transfer-ownership="none">
  294. <type name="none" c:type="void"/>
  295. </return-value>
  296. </callback>
  297. </field>
  298. <field name="reserved6">
  299. <callback name="reserved6">
  300. <return-value transfer-ownership="none">
  301. <type name="none" c:type="void"/>
  302. </return-value>
  303. </callback>
  304. </field>
  305. <field name="reserved7">
  306. <callback name="reserved7">
  307. <return-value transfer-ownership="none">
  308. <type name="none" c:type="void"/>
  309. </return-value>
  310. </callback>
  311. </field>
  312. <field name="reserved8">
  313. <callback name="reserved8">
  314. <return-value transfer-ownership="none">
  315. <type name="none" c:type="void"/>
  316. </return-value>
  317. </callback>
  318. </field>
  319. </record>
  320. <record name="ClientPrivate" c:type="GUdevClientPrivate" disguised="1">
  321. </record>
  322. <class name="Device"
  323. c:symbol-prefix="device"
  324. c:type="GUdevDevice"
  325. parent="GObject.Object"
  326. glib:type-name="GUdevDevice"
  327. glib:get-type="g_udev_device_get_type"
  328. glib:type-struct="DeviceClass">
  329. <doc xml:space="preserve">The #GUdevDevice class is used to get information about a specific
  330. device. Note that you cannot instantiate a #GUdevDevice object
  331. yourself. Instead you must use #GUdevClient to obtain #GUdevDevice
  332. objects.
  333. To get basic information about a device, use
  334. g_udev_device_get_subsystem(), g_udev_device_get_devtype(),
  335. g_udev_device_get_name(), g_udev_device_get_number(),
  336. g_udev_device_get_sysfs_path(), g_udev_device_get_driver(),
  337. g_udev_device_get_action(), g_udev_device_get_seqnum(),
  338. g_udev_device_get_device_type(), g_udev_device_get_device_number(),
  339. g_udev_device_get_device_file(),
  340. g_udev_device_get_device_file_symlinks().
  341. To navigate the device tree, use g_udev_device_get_parent() and
  342. g_udev_device_get_parent_with_subsystem().
  343. To access udev properties for the device, use
  344. g_udev_device_get_property_keys(),
  345. g_udev_device_has_property(),
  346. g_udev_device_get_property(),
  347. g_udev_device_get_property_as_int(),
  348. g_udev_device_get_property_as_uint64(),
  349. g_udev_device_get_property_as_double(),
  350. g_udev_device_get_property_as_boolean() and
  351. g_udev_device_get_property_as_strv().
  352. To access sysfs attributes for the device, use
  353. g_udev_device_get_sysfs_attr_keys(),
  354. g_udev_device_has_sysfs_attr(),
  355. g_udev_device_get_sysfs_attr(),
  356. g_udev_device_get_sysfs_attr_as_int(),
  357. g_udev_device_get_sysfs_attr_as_uint64(),
  358. g_udev_device_get_sysfs_attr_as_double(),
  359. g_udev_device_get_sysfs_attr_as_boolean() and
  360. g_udev_device_get_sysfs_attr_as_strv().
  361. Note that all getters on #GUdevDevice are non-reffing – returned
  362. values are owned by the object, should not be freed and are only
  363. valid as long as the object is alive.
  364. By design, #GUdevDevice will not react to changes for a device – it
  365. only contains a snapshot of information when the #GUdevDevice
  366. object was created. To work with changes, you typically connect to
  367. the #GUdevClient::uevent signal on a #GUdevClient and get a new
  368. #GUdevDevice whenever an event happens.</doc>
  369. <method name="get_action" c:identifier="g_udev_device_get_action">
  370. <doc xml:space="preserve">Gets the most recent action (e.g. "add", "remove", "change", etc.) for @device.</doc>
  371. <return-value transfer-ownership="none">
  372. <doc xml:space="preserve">An action string.</doc>
  373. <type name="utf8" c:type="const gchar*"/>
  374. </return-value>
  375. <parameters>
  376. <instance-parameter name="device" transfer-ownership="none">
  377. <doc xml:space="preserve">A #GUdevDevice.</doc>
  378. <type name="Device" c:type="GUdevDevice*"/>
  379. </instance-parameter>
  380. </parameters>
  381. </method>
  382. <method name="get_device_file"
  383. c:identifier="g_udev_device_get_device_file">
  384. <doc xml:space="preserve">Gets the device file for @device.</doc>
  385. <return-value transfer-ownership="none" nullable="1">
  386. <doc xml:space="preserve">The device file for @device or %NULL if no
  387. device file exists.</doc>
  388. <type name="utf8" c:type="const gchar*"/>
  389. </return-value>
  390. <parameters>
  391. <instance-parameter name="device" transfer-ownership="none">
  392. <doc xml:space="preserve">A #GUdevDevice.</doc>
  393. <type name="Device" c:type="GUdevDevice*"/>
  394. </instance-parameter>
  395. </parameters>
  396. </method>
  397. <method name="get_device_file_symlinks"
  398. c:identifier="g_udev_device_get_device_file_symlinks">
  399. <doc xml:space="preserve">Gets a list of symlinks (in &lt;literal&gt;/dev&lt;/literal&gt;) that points to
  400. the device file for @device.</doc>
  401. <return-value transfer-ownership="none">
  402. <doc xml:space="preserve">A %NULL terminated string array of symlinks. This array is owned by @device and should not be freed by the caller.</doc>
  403. <array c:type="gchar**">
  404. <type name="utf8"/>
  405. </array>
  406. </return-value>
  407. <parameters>
  408. <instance-parameter name="device" transfer-ownership="none">
  409. <doc xml:space="preserve">A #GUdevDevice.</doc>
  410. <type name="Device" c:type="GUdevDevice*"/>
  411. </instance-parameter>
  412. </parameters>
  413. </method>
  414. <method name="get_device_number"
  415. c:identifier="g_udev_device_get_device_number">
  416. <doc xml:space="preserve">Gets the device number, if any, for @device.</doc>
  417. <return-value transfer-ownership="none">
  418. <doc xml:space="preserve">The device number for @device or 0 if unknown.</doc>
  419. <type name="DeviceNumber" c:type="GUdevDeviceNumber"/>
  420. </return-value>
  421. <parameters>
  422. <instance-parameter name="device" transfer-ownership="none">
  423. <doc xml:space="preserve">A #GUdevDevice.</doc>
  424. <type name="Device" c:type="GUdevDevice*"/>
  425. </instance-parameter>
  426. </parameters>
  427. </method>
  428. <method name="get_device_type"
  429. c:identifier="g_udev_device_get_device_type">
  430. <doc xml:space="preserve">Gets the type of the device file, if any, for @device.</doc>
  431. <return-value transfer-ownership="none">
  432. <doc xml:space="preserve">The device number for @device or #G_UDEV_DEVICE_TYPE_NONE if the device does not have a device file.</doc>
  433. <type name="DeviceType" c:type="GUdevDeviceType"/>
  434. </return-value>
  435. <parameters>
  436. <instance-parameter name="device" transfer-ownership="none">
  437. <doc xml:space="preserve">A #GUdevDevice.</doc>
  438. <type name="Device" c:type="GUdevDevice*"/>
  439. </instance-parameter>
  440. </parameters>
  441. </method>
  442. <method name="get_devtype" c:identifier="g_udev_device_get_devtype">
  443. <doc xml:space="preserve">Gets the device type for @device.</doc>
  444. <return-value transfer-ownership="none">
  445. <doc xml:space="preserve">The devtype for @device.</doc>
  446. <type name="utf8" c:type="const gchar*"/>
  447. </return-value>
  448. <parameters>
  449. <instance-parameter name="device" transfer-ownership="none">
  450. <doc xml:space="preserve">A #GUdevDevice.</doc>
  451. <type name="Device" c:type="GUdevDevice*"/>
  452. </instance-parameter>
  453. </parameters>
  454. </method>
  455. <method name="get_driver" c:identifier="g_udev_device_get_driver">
  456. <doc xml:space="preserve">Gets the name of the driver used for @device.</doc>
  457. <return-value transfer-ownership="none" nullable="1">
  458. <doc xml:space="preserve">The name of the driver for @device or %NULL if
  459. unknown.</doc>
  460. <type name="utf8" c:type="const gchar*"/>
  461. </return-value>
  462. <parameters>
  463. <instance-parameter name="device" transfer-ownership="none">
  464. <doc xml:space="preserve">A #GUdevDevice.</doc>
  465. <type name="Device" c:type="GUdevDevice*"/>
  466. </instance-parameter>
  467. </parameters>
  468. </method>
  469. <method name="get_is_initialized"
  470. c:identifier="g_udev_device_get_is_initialized"
  471. version="165">
  472. <doc xml:space="preserve">Gets whether @device has been initialized.</doc>
  473. <return-value transfer-ownership="none">
  474. <doc xml:space="preserve">Whether @device has been initialized.</doc>
  475. <type name="gboolean" c:type="gboolean"/>
  476. </return-value>
  477. <parameters>
  478. <instance-parameter name="device" transfer-ownership="none">
  479. <doc xml:space="preserve">A #GUdevDevice.</doc>
  480. <type name="Device" c:type="GUdevDevice*"/>
  481. </instance-parameter>
  482. </parameters>
  483. </method>
  484. <method name="get_name" c:identifier="g_udev_device_get_name">
  485. <doc xml:space="preserve">Gets the name of @device, e.g. "sda3".</doc>
  486. <return-value transfer-ownership="none">
  487. <doc xml:space="preserve">The name of @device.</doc>
  488. <type name="utf8" c:type="const gchar*"/>
  489. </return-value>
  490. <parameters>
  491. <instance-parameter name="device" transfer-ownership="none">
  492. <doc xml:space="preserve">A #GUdevDevice.</doc>
  493. <type name="Device" c:type="GUdevDevice*"/>
  494. </instance-parameter>
  495. </parameters>
  496. </method>
  497. <method name="get_number" c:identifier="g_udev_device_get_number">
  498. <doc xml:space="preserve">Gets the number of @device, e.g. "3" if g_udev_device_get_name() returns "sda3".</doc>
  499. <return-value transfer-ownership="none">
  500. <doc xml:space="preserve">The number of @device.</doc>
  501. <type name="utf8" c:type="const gchar*"/>
  502. </return-value>
  503. <parameters>
  504. <instance-parameter name="device" transfer-ownership="none">
  505. <doc xml:space="preserve">A #GUdevDevice.</doc>
  506. <type name="Device" c:type="GUdevDevice*"/>
  507. </instance-parameter>
  508. </parameters>
  509. </method>
  510. <method name="get_parent" c:identifier="g_udev_device_get_parent">
  511. <doc xml:space="preserve">Gets the immediate parent of @device, if any.</doc>
  512. <return-value transfer-ownership="full" nullable="1">
  513. <doc xml:space="preserve">A #GUdevDevice or %NULL if
  514. @device has no parent. Free with g_object_unref().</doc>
  515. <type name="Device" c:type="GUdevDevice*"/>
  516. </return-value>
  517. <parameters>
  518. <instance-parameter name="device" transfer-ownership="none">
  519. <doc xml:space="preserve">A #GUdevDevice.</doc>
  520. <type name="Device" c:type="GUdevDevice*"/>
  521. </instance-parameter>
  522. </parameters>
  523. </method>
  524. <method name="get_parent_with_subsystem"
  525. c:identifier="g_udev_device_get_parent_with_subsystem">
  526. <doc xml:space="preserve">Walks up the chain of parents of @device and returns the first
  527. device encountered where @subsystem and @devtype matches, if any.</doc>
  528. <return-value transfer-ownership="full" nullable="1">
  529. <doc xml:space="preserve">A #GUdevDevice or %NULL if
  530. @device has no parent with @subsystem and @devtype. Free with
  531. g_object_unref().</doc>
  532. <type name="Device" c:type="GUdevDevice*"/>
  533. </return-value>
  534. <parameters>
  535. <instance-parameter name="device" transfer-ownership="none">
  536. <doc xml:space="preserve">A #GUdevDevice.</doc>
  537. <type name="Device" c:type="GUdevDevice*"/>
  538. </instance-parameter>
  539. <parameter name="subsystem" transfer-ownership="none">
  540. <doc xml:space="preserve">The subsystem of the parent to get.</doc>
  541. <type name="utf8" c:type="const gchar*"/>
  542. </parameter>
  543. <parameter name="devtype"
  544. transfer-ownership="none"
  545. nullable="1"
  546. allow-none="1">
  547. <doc xml:space="preserve">The devtype of the parent to get or %NULL.</doc>
  548. <type name="utf8" c:type="const gchar*"/>
  549. </parameter>
  550. </parameters>
  551. </method>
  552. <method name="get_property" c:identifier="g_udev_device_get_property">
  553. <doc xml:space="preserve">Look up the value for @key on @device.</doc>
  554. <return-value transfer-ownership="none" nullable="1">
  555. <doc xml:space="preserve">The value for @key or %NULL if @key doesn't
  556. exist on @device. Do not free this string, it is owned by @device.</doc>
  557. <type name="utf8" c:type="const gchar*"/>
  558. </return-value>
  559. <parameters>
  560. <instance-parameter name="device" transfer-ownership="none">
  561. <doc xml:space="preserve">A #GUdevDevice.</doc>
  562. <type name="Device" c:type="GUdevDevice*"/>
  563. </instance-parameter>
  564. <parameter name="key" transfer-ownership="none">
  565. <doc xml:space="preserve">Name of property.</doc>
  566. <type name="utf8" c:type="const gchar*"/>
  567. </parameter>
  568. </parameters>
  569. </method>
  570. <method name="get_property_as_boolean"
  571. c:identifier="g_udev_device_get_property_as_boolean">
  572. <doc xml:space="preserve">Look up the value for @key on @device and convert it to an
  573. boolean. This is done by doing a case-insensitive string comparison
  574. on the string value against "1" and "true".</doc>
  575. <return-value transfer-ownership="none">
  576. <doc xml:space="preserve">The value for @key or %FALSE if @key doesn't exist or
  577. isn't a #gboolean.</doc>
  578. <type name="gboolean" c:type="gboolean"/>
  579. </return-value>
  580. <parameters>
  581. <instance-parameter name="device" transfer-ownership="none">
  582. <doc xml:space="preserve">A #GUdevDevice.</doc>
  583. <type name="Device" c:type="GUdevDevice*"/>
  584. </instance-parameter>
  585. <parameter name="key" transfer-ownership="none">
  586. <doc xml:space="preserve">Name of property.</doc>
  587. <type name="utf8" c:type="const gchar*"/>
  588. </parameter>
  589. </parameters>
  590. </method>
  591. <method name="get_property_as_double"
  592. c:identifier="g_udev_device_get_property_as_double">
  593. <doc xml:space="preserve">Look up the value for @key on @device and convert it to a double
  594. precision floating point number using strtod().</doc>
  595. <return-value transfer-ownership="none">
  596. <doc xml:space="preserve">The value for @key or 0.0 if @key doesn't exist or isn't a
  597. #gdouble.</doc>
  598. <type name="gdouble" c:type="gdouble"/>
  599. </return-value>
  600. <parameters>
  601. <instance-parameter name="device" transfer-ownership="none">
  602. <doc xml:space="preserve">A #GUdevDevice.</doc>
  603. <type name="Device" c:type="GUdevDevice*"/>
  604. </instance-parameter>
  605. <parameter name="key" transfer-ownership="none">
  606. <doc xml:space="preserve">Name of property.</doc>
  607. <type name="utf8" c:type="const gchar*"/>
  608. </parameter>
  609. </parameters>
  610. </method>
  611. <method name="get_property_as_int"
  612. c:identifier="g_udev_device_get_property_as_int">
  613. <doc xml:space="preserve">Look up the value for @key on @device and convert it to an integer
  614. using strtol().</doc>
  615. <return-value transfer-ownership="none">
  616. <doc xml:space="preserve">The value for @key or 0 if @key doesn't exist or
  617. isn't an integer.</doc>
  618. <type name="gint" c:type="gint"/>
  619. </return-value>
  620. <parameters>
  621. <instance-parameter name="device" transfer-ownership="none">
  622. <doc xml:space="preserve">A #GUdevDevice.</doc>
  623. <type name="Device" c:type="GUdevDevice*"/>
  624. </instance-parameter>
  625. <parameter name="key" transfer-ownership="none">
  626. <doc xml:space="preserve">Name of property.</doc>
  627. <type name="utf8" c:type="const gchar*"/>
  628. </parameter>
  629. </parameters>
  630. </method>
  631. <method name="get_property_as_strv"
  632. c:identifier="g_udev_device_get_property_as_strv">
  633. <doc xml:space="preserve">Look up the value for @key on @device and return the result of
  634. splitting it into non-empty tokens split at white space (only space
  635. (' '), form-feed ('\f'), newline ('\n'), carriage return ('\r'),
  636. horizontal tab ('\t'), and vertical tab ('\v') are considered; the
  637. locale is not taken into account).</doc>
  638. <return-value transfer-ownership="none" nullable="1">
  639. <doc xml:space="preserve">
  640. The value of @key on @device split into tokens or %NULL if @key
  641. doesn't exist. This array is owned by @device and should not be
  642. freed by the caller.</doc>
  643. <array c:type="gchar**">
  644. <type name="utf8"/>
  645. </array>
  646. </return-value>
  647. <parameters>
  648. <instance-parameter name="device" transfer-ownership="none">
  649. <doc xml:space="preserve">A #GUdevDevice.</doc>
  650. <type name="Device" c:type="GUdevDevice*"/>
  651. </instance-parameter>
  652. <parameter name="key" transfer-ownership="none">
  653. <doc xml:space="preserve">Name of property.</doc>
  654. <type name="utf8" c:type="const gchar*"/>
  655. </parameter>
  656. </parameters>
  657. </method>
  658. <method name="get_property_as_uint64"
  659. c:identifier="g_udev_device_get_property_as_uint64">
  660. <doc xml:space="preserve">Look up the value for @key on @device and convert it to an unsigned
  661. 64-bit integer using g_ascii_strtoull().</doc>
  662. <return-value transfer-ownership="none">
  663. <doc xml:space="preserve">The value for @key or 0 if @key doesn't exist or isn't a
  664. #guint64.</doc>
  665. <type name="guint64" c:type="guint64"/>
  666. </return-value>
  667. <parameters>
  668. <instance-parameter name="device" transfer-ownership="none">
  669. <doc xml:space="preserve">A #GUdevDevice.</doc>
  670. <type name="Device" c:type="GUdevDevice*"/>
  671. </instance-parameter>
  672. <parameter name="key" transfer-ownership="none">
  673. <doc xml:space="preserve">Name of property.</doc>
  674. <type name="utf8" c:type="const gchar*"/>
  675. </parameter>
  676. </parameters>
  677. </method>
  678. <method name="get_property_keys"
  679. c:identifier="g_udev_device_get_property_keys">
  680. <doc xml:space="preserve">Gets all keys for properties on @device.</doc>
  681. <return-value transfer-ownership="none">
  682. <doc xml:space="preserve">A %NULL terminated string array of property keys. This array is owned by @device and should not be freed by the caller.</doc>
  683. <array c:type="gchar**">
  684. <type name="utf8"/>
  685. </array>
  686. </return-value>
  687. <parameters>
  688. <instance-parameter name="device" transfer-ownership="none">
  689. <doc xml:space="preserve">A #GUdevDevice.</doc>
  690. <type name="Device" c:type="GUdevDevice*"/>
  691. </instance-parameter>
  692. </parameters>
  693. </method>
  694. <method name="get_seqnum" c:identifier="g_udev_device_get_seqnum">
  695. <doc xml:space="preserve">Gets the most recent sequence number for @device.</doc>
  696. <return-value transfer-ownership="none">
  697. <doc xml:space="preserve">A sequence number.</doc>
  698. <type name="guint64" c:type="guint64"/>
  699. </return-value>
  700. <parameters>
  701. <instance-parameter name="device" transfer-ownership="none">
  702. <doc xml:space="preserve">A #GUdevDevice.</doc>
  703. <type name="Device" c:type="GUdevDevice*"/>
  704. </instance-parameter>
  705. </parameters>
  706. </method>
  707. <method name="get_subsystem" c:identifier="g_udev_device_get_subsystem">
  708. <doc xml:space="preserve">Gets the subsystem for @device.</doc>
  709. <return-value transfer-ownership="none">
  710. <doc xml:space="preserve">The subsystem for @device.</doc>
  711. <type name="utf8" c:type="const gchar*"/>
  712. </return-value>
  713. <parameters>
  714. <instance-parameter name="device" transfer-ownership="none">
  715. <doc xml:space="preserve">A #GUdevDevice.</doc>
  716. <type name="Device" c:type="GUdevDevice*"/>
  717. </instance-parameter>
  718. </parameters>
  719. </method>
  720. <method name="get_sysfs_attr"
  721. c:identifier="g_udev_device_get_sysfs_attr">
  722. <doc xml:space="preserve">Look up the sysfs attribute with @name on @device.</doc>
  723. <return-value transfer-ownership="none" nullable="1">
  724. <doc xml:space="preserve">The value of the sysfs attribute or %NULL if
  725. there is no such attribute. Do not free this string, it is owned by
  726. @device.</doc>
  727. <type name="utf8" c:type="const gchar*"/>
  728. </return-value>
  729. <parameters>
  730. <instance-parameter name="device" transfer-ownership="none">
  731. <doc xml:space="preserve">A #GUdevDevice.</doc>
  732. <type name="Device" c:type="GUdevDevice*"/>
  733. </instance-parameter>
  734. <parameter name="name" transfer-ownership="none">
  735. <doc xml:space="preserve">Name of the sysfs attribute.</doc>
  736. <type name="utf8" c:type="const gchar*"/>
  737. </parameter>
  738. </parameters>
  739. </method>
  740. <method name="get_sysfs_attr_as_boolean"
  741. c:identifier="g_udev_device_get_sysfs_attr_as_boolean">
  742. <doc xml:space="preserve">Look up the sysfs attribute with @name on @device and convert it to an
  743. boolean. This is done by doing a case-insensitive string comparison
  744. on the string value against "1" and "true".</doc>
  745. <return-value transfer-ownership="none">
  746. <doc xml:space="preserve">The value of the sysfs attribute or %FALSE if there is no such
  747. attribute.</doc>
  748. <type name="gboolean" c:type="gboolean"/>
  749. </return-value>
  750. <parameters>
  751. <instance-parameter name="device" transfer-ownership="none">
  752. <doc xml:space="preserve">A #GUdevDevice.</doc>
  753. <type name="Device" c:type="GUdevDevice*"/>
  754. </instance-parameter>
  755. <parameter name="name" transfer-ownership="none">
  756. <doc xml:space="preserve">Name of the sysfs attribute.</doc>
  757. <type name="utf8" c:type="const gchar*"/>
  758. </parameter>
  759. </parameters>
  760. </method>
  761. <method name="get_sysfs_attr_as_double"
  762. c:identifier="g_udev_device_get_sysfs_attr_as_double">
  763. <doc xml:space="preserve">Look up the sysfs attribute with @name on @device and convert it to a double
  764. precision floating point number using strtod().</doc>
  765. <return-value transfer-ownership="none">
  766. <doc xml:space="preserve">The value of the sysfs attribute or 0.0 if there is no such
  767. attribute.</doc>
  768. <type name="gdouble" c:type="gdouble"/>
  769. </return-value>
  770. <parameters>
  771. <instance-parameter name="device" transfer-ownership="none">
  772. <doc xml:space="preserve">A #GUdevDevice.</doc>
  773. <type name="Device" c:type="GUdevDevice*"/>
  774. </instance-parameter>
  775. <parameter name="name" transfer-ownership="none">
  776. <doc xml:space="preserve">Name of the sysfs attribute.</doc>
  777. <type name="utf8" c:type="const gchar*"/>
  778. </parameter>
  779. </parameters>
  780. </method>
  781. <method name="get_sysfs_attr_as_int"
  782. c:identifier="g_udev_device_get_sysfs_attr_as_int">
  783. <doc xml:space="preserve">Look up the sysfs attribute with @name on @device and convert it to an integer
  784. using strtol().</doc>
  785. <return-value transfer-ownership="none">
  786. <doc xml:space="preserve">The value of the sysfs attribute or 0 if there is no such
  787. attribute.</doc>
  788. <type name="gint" c:type="gint"/>
  789. </return-value>
  790. <parameters>
  791. <instance-parameter name="device" transfer-ownership="none">
  792. <doc xml:space="preserve">A #GUdevDevice.</doc>
  793. <type name="Device" c:type="GUdevDevice*"/>
  794. </instance-parameter>
  795. <parameter name="name" transfer-ownership="none">
  796. <doc xml:space="preserve">Name of the sysfs attribute.</doc>
  797. <type name="utf8" c:type="const gchar*"/>
  798. </parameter>
  799. </parameters>
  800. </method>
  801. <method name="get_sysfs_attr_as_strv"
  802. c:identifier="g_udev_device_get_sysfs_attr_as_strv">
  803. <doc xml:space="preserve">Look up the sysfs attribute with @name on @device and return the result of
  804. splitting it into non-empty tokens split at white space (only space (' '),
  805. form-feed ('\f'), newline ('\n'), carriage return ('\r'), horizontal
  806. tab ('\t'), and vertical tab ('\v') are considered; the locale is
  807. not taken into account).</doc>
  808. <return-value transfer-ownership="none" nullable="1">
  809. <doc xml:space="preserve">
  810. The value of the sysfs attribute split into tokens or %NULL if
  811. there is no such attribute. This array is owned by @device and
  812. should not be freed by the caller.</doc>
  813. <array c:type="gchar**">
  814. <type name="utf8"/>
  815. </array>
  816. </return-value>
  817. <parameters>
  818. <instance-parameter name="device" transfer-ownership="none">
  819. <doc xml:space="preserve">A #GUdevDevice.</doc>
  820. <type name="Device" c:type="GUdevDevice*"/>
  821. </instance-parameter>
  822. <parameter name="name" transfer-ownership="none">
  823. <doc xml:space="preserve">Name of the sysfs attribute.</doc>
  824. <type name="utf8" c:type="const gchar*"/>
  825. </parameter>
  826. </parameters>
  827. </method>
  828. <method name="get_sysfs_attr_as_uint64"
  829. c:identifier="g_udev_device_get_sysfs_attr_as_uint64">
  830. <doc xml:space="preserve">Look up the sysfs attribute with @name on @device and convert it to an unsigned
  831. 64-bit integer using g_ascii_strtoull().</doc>
  832. <return-value transfer-ownership="none">
  833. <doc xml:space="preserve">The value of the sysfs attribute or 0 if there is no such
  834. attribute.</doc>
  835. <type name="guint64" c:type="guint64"/>
  836. </return-value>
  837. <parameters>
  838. <instance-parameter name="device" transfer-ownership="none">
  839. <doc xml:space="preserve">A #GUdevDevice.</doc>
  840. <type name="Device" c:type="GUdevDevice*"/>
  841. </instance-parameter>
  842. <parameter name="name" transfer-ownership="none">
  843. <doc xml:space="preserve">Name of the sysfs attribute.</doc>
  844. <type name="utf8" c:type="const gchar*"/>
  845. </parameter>
  846. </parameters>
  847. </method>
  848. <method name="get_sysfs_attr_keys"
  849. c:identifier="g_udev_device_get_sysfs_attr_keys">
  850. <doc xml:space="preserve">Gets all keys for sysfs attributes on @device.</doc>
  851. <return-value transfer-ownership="none">
  852. <doc xml:space="preserve">A %NULL terminated string array of sysfs attribute keys. This array is owned by @device and should not be freed by the caller.</doc>
  853. <array c:type="gchar**">
  854. <type name="utf8"/>
  855. </array>
  856. </return-value>
  857. <parameters>
  858. <instance-parameter name="device" transfer-ownership="none">
  859. <doc xml:space="preserve">A #GUdevDevice.</doc>
  860. <type name="Device" c:type="GUdevDevice*"/>
  861. </instance-parameter>
  862. </parameters>
  863. </method>
  864. <method name="get_sysfs_path"
  865. c:identifier="g_udev_device_get_sysfs_path">
  866. <doc xml:space="preserve">Gets the sysfs path for @device.</doc>
  867. <return-value transfer-ownership="none">
  868. <doc xml:space="preserve">The sysfs path for @device.</doc>
  869. <type name="utf8" c:type="const gchar*"/>
  870. </return-value>
  871. <parameters>
  872. <instance-parameter name="device" transfer-ownership="none">
  873. <doc xml:space="preserve">A #GUdevDevice.</doc>
  874. <type name="Device" c:type="GUdevDevice*"/>
  875. </instance-parameter>
  876. </parameters>
  877. </method>
  878. <method name="get_tags"
  879. c:identifier="g_udev_device_get_tags"
  880. version="165">
  881. <doc xml:space="preserve">Gets all tags for @device.</doc>
  882. <return-value transfer-ownership="none">
  883. <doc xml:space="preserve">A %NULL terminated string array of tags. This array is owned by @device and should not be freed by the caller.</doc>
  884. <array c:type="gchar**">
  885. <type name="utf8"/>
  886. </array>
  887. </return-value>
  888. <parameters>
  889. <instance-parameter name="device" transfer-ownership="none">
  890. <doc xml:space="preserve">A #GUdevDevice.</doc>
  891. <type name="Device" c:type="GUdevDevice*"/>
  892. </instance-parameter>
  893. </parameters>
  894. </method>
  895. <method name="get_usec_since_initialized"
  896. c:identifier="g_udev_device_get_usec_since_initialized"
  897. version="165">
  898. <doc xml:space="preserve">Gets number of micro-seconds since @device was initialized.
  899. This only works for devices with properties in the udev
  900. database. All other devices return 0.</doc>
  901. <return-value transfer-ownership="none">
  902. <doc xml:space="preserve">Number of micro-seconds since @device was initialized or 0 if unknown.</doc>
  903. <type name="guint64" c:type="guint64"/>
  904. </return-value>
  905. <parameters>
  906. <instance-parameter name="device" transfer-ownership="none">
  907. <doc xml:space="preserve">A #GUdevDevice.</doc>
  908. <type name="Device" c:type="GUdevDevice*"/>
  909. </instance-parameter>
  910. </parameters>
  911. </method>
  912. <method name="has_property" c:identifier="g_udev_device_has_property">
  913. <doc xml:space="preserve">Check if a the property with the given key exists.</doc>
  914. <return-value transfer-ownership="none">
  915. <doc xml:space="preserve">%TRUE only if the value for @key exist.</doc>
  916. <type name="gboolean" c:type="gboolean"/>
  917. </return-value>
  918. <parameters>
  919. <instance-parameter name="device" transfer-ownership="none">
  920. <doc xml:space="preserve">A #GUdevDevice.</doc>
  921. <type name="Device" c:type="GUdevDevice*"/>
  922. </instance-parameter>
  923. <parameter name="key" transfer-ownership="none">
  924. <doc xml:space="preserve">Name of property.</doc>
  925. <type name="utf8" c:type="const gchar*"/>
  926. </parameter>
  927. </parameters>
  928. </method>
  929. <method name="has_sysfs_attr"
  930. c:identifier="g_udev_device_has_sysfs_attr">
  931. <doc xml:space="preserve">Check if a the sysfs attribute with the given key exists.</doc>
  932. <return-value transfer-ownership="none">
  933. <doc xml:space="preserve">%TRUE only if the value for @key exist.</doc>
  934. <type name="gboolean" c:type="gboolean"/>
  935. </return-value>
  936. <parameters>
  937. <instance-parameter name="device" transfer-ownership="none">
  938. <doc xml:space="preserve">A #GUdevDevice.</doc>
  939. <type name="Device" c:type="GUdevDevice*"/>
  940. </instance-parameter>
  941. <parameter name="key" transfer-ownership="none">
  942. <doc xml:space="preserve">Name of sysfs attribute.</doc>
  943. <type name="utf8" c:type="const gchar*"/>
  944. </parameter>
  945. </parameters>
  946. </method>
  947. <field name="parent">
  948. <type name="GObject.Object" c:type="GObject"/>
  949. </field>
  950. <field name="priv" readable="0" private="1">
  951. <type name="DevicePrivate" c:type="GUdevDevicePrivate*"/>
  952. </field>
  953. </class>
  954. <record name="DeviceClass"
  955. c:type="GUdevDeviceClass"
  956. glib:is-gtype-struct-for="Device">
  957. <doc xml:space="preserve">Class structure for #GUdevDevice.</doc>
  958. <field name="parent_class">
  959. <doc xml:space="preserve">Parent class.</doc>
  960. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  961. </field>
  962. <field name="reserved1">
  963. <callback name="reserved1">
  964. <return-value transfer-ownership="none">
  965. <type name="none" c:type="void"/>
  966. </return-value>
  967. </callback>
  968. </field>
  969. <field name="reserved2">
  970. <callback name="reserved2">
  971. <return-value transfer-ownership="none">
  972. <type name="none" c:type="void"/>
  973. </return-value>
  974. </callback>
  975. </field>
  976. <field name="reserved3">
  977. <callback name="reserved3">
  978. <return-value transfer-ownership="none">
  979. <type name="none" c:type="void"/>
  980. </return-value>
  981. </callback>
  982. </field>
  983. <field name="reserved4">
  984. <callback name="reserved4">
  985. <return-value transfer-ownership="none">
  986. <type name="none" c:type="void"/>
  987. </return-value>
  988. </callback>
  989. </field>
  990. <field name="reserved5">
  991. <callback name="reserved5">
  992. <return-value transfer-ownership="none">
  993. <type name="none" c:type="void"/>
  994. </return-value>
  995. </callback>
  996. </field>
  997. <field name="reserved6">
  998. <callback name="reserved6">
  999. <return-value transfer-ownership="none">
  1000. <type name="none" c:type="void"/>
  1001. </return-value>
  1002. </callback>
  1003. </field>
  1004. <field name="reserved7">
  1005. <callback name="reserved7">
  1006. <return-value transfer-ownership="none">
  1007. <type name="none" c:type="void"/>
  1008. </return-value>
  1009. </callback>
  1010. </field>
  1011. <field name="reserved8">
  1012. <callback name="reserved8">
  1013. <return-value transfer-ownership="none">
  1014. <type name="none" c:type="void"/>
  1015. </return-value>
  1016. </callback>
  1017. </field>
  1018. </record>
  1019. <record name="DevicePrivate" c:type="GUdevDevicePrivate" disguised="1">
  1020. </record>
  1021. <enumeration name="DeviceType"
  1022. glib:type-name="GUdevDeviceType"
  1023. glib:get-type="g_udev_device_type_get_type"
  1024. c:type="GUdevDeviceType">
  1025. <doc xml:space="preserve">Enumeration used to specify a the type of a device.</doc>
  1026. <member name="none"
  1027. value="0"
  1028. c:identifier="G_UDEV_DEVICE_TYPE_NONE"
  1029. glib:nick="none">
  1030. <doc xml:space="preserve">Device does not have a device file.</doc>
  1031. </member>
  1032. <member name="block"
  1033. value="98"
  1034. c:identifier="G_UDEV_DEVICE_TYPE_BLOCK"
  1035. glib:nick="block">
  1036. <doc xml:space="preserve">Device is a block device.</doc>
  1037. </member>
  1038. <member name="char"
  1039. value="99"
  1040. c:identifier="G_UDEV_DEVICE_TYPE_CHAR"
  1041. glib:nick="char">
  1042. <doc xml:space="preserve">Device is a character device.</doc>
  1043. </member>
  1044. </enumeration>
  1045. <class name="Enumerator"
  1046. c:symbol-prefix="enumerator"
  1047. c:type="GUdevEnumerator"
  1048. version="165"
  1049. parent="GObject.Object"
  1050. glib:type-name="GUdevEnumerator"
  1051. glib:get-type="g_udev_enumerator_get_type"
  1052. glib:type-struct="EnumeratorClass">
  1053. <doc xml:space="preserve">#GUdevEnumerator is used to lookup and sort devices.</doc>
  1054. <constructor name="new"
  1055. c:identifier="g_udev_enumerator_new"
  1056. version="165">
  1057. <doc xml:space="preserve">Constructs a #GUdevEnumerator object that can be used to enumerate
  1058. and sort devices. Use the add_match_*() and add_nomatch_*() methods
  1059. and execute the query to get a list of devices with
  1060. g_udev_enumerator_execute().</doc>
  1061. <return-value transfer-ownership="full">
  1062. <doc xml:space="preserve">A new #GUdevEnumerator object. Free with g_object_unref().</doc>
  1063. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1064. </return-value>
  1065. <parameters>
  1066. <parameter name="client" transfer-ownership="none">
  1067. <doc xml:space="preserve">A #GUdevClient to enumerate devices from.</doc>
  1068. <type name="Client" c:type="GUdevClient*"/>
  1069. </parameter>
  1070. </parameters>
  1071. </constructor>
  1072. <method name="add_match_is_initialized"
  1073. c:identifier="g_udev_enumerator_add_match_is_initialized"
  1074. version="165">
  1075. <doc xml:space="preserve">All returned devices will be initialized.</doc>
  1076. <return-value transfer-ownership="none">
  1077. <doc xml:space="preserve">The passed in @enumerator.</doc>
  1078. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1079. </return-value>
  1080. <parameters>
  1081. <instance-parameter name="enumerator" transfer-ownership="none">
  1082. <doc xml:space="preserve">A #GUdevEnumerator.</doc>
  1083. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1084. </instance-parameter>
  1085. </parameters>
  1086. </method>
  1087. <method name="add_match_name"
  1088. c:identifier="g_udev_enumerator_add_match_name"
  1089. version="165">
  1090. <doc xml:space="preserve">All returned devices will match the given @name.</doc>
  1091. <return-value transfer-ownership="none">
  1092. <doc xml:space="preserve">The passed in @enumerator.</doc>
  1093. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1094. </return-value>
  1095. <parameters>
  1096. <instance-parameter name="enumerator" transfer-ownership="none">
  1097. <doc xml:space="preserve">A #GUdevEnumerator.</doc>
  1098. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1099. </instance-parameter>
  1100. <parameter name="name" transfer-ownership="none">
  1101. <doc xml:space="preserve">Wildcard filter for kernel name e.g. "sda*".</doc>
  1102. <type name="utf8" c:type="const gchar*"/>
  1103. </parameter>
  1104. </parameters>
  1105. </method>
  1106. <method name="add_match_property"
  1107. c:identifier="g_udev_enumerator_add_match_property"
  1108. version="165">
  1109. <doc xml:space="preserve">All returned devices will have a property matching the given @name and @value.</doc>
  1110. <return-value transfer-ownership="none">
  1111. <doc xml:space="preserve">The passed in @enumerator.</doc>
  1112. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1113. </return-value>
  1114. <parameters>
  1115. <instance-parameter name="enumerator" transfer-ownership="none">
  1116. <doc xml:space="preserve">A #GUdevEnumerator.</doc>
  1117. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1118. </instance-parameter>
  1119. <parameter name="name" transfer-ownership="none">
  1120. <doc xml:space="preserve">Wildcard filter for property name.</doc>
  1121. <type name="utf8" c:type="const gchar*"/>
  1122. </parameter>
  1123. <parameter name="value" transfer-ownership="none">
  1124. <doc xml:space="preserve">Wildcard filter for property value.</doc>
  1125. <type name="utf8" c:type="const gchar*"/>
  1126. </parameter>
  1127. </parameters>
  1128. </method>
  1129. <method name="add_match_subsystem"
  1130. c:identifier="g_udev_enumerator_add_match_subsystem"
  1131. version="165">
  1132. <doc xml:space="preserve">All returned devices will match the given @subsystem.</doc>
  1133. <return-value transfer-ownership="none">
  1134. <doc xml:space="preserve">The passed in @enumerator.</doc>
  1135. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1136. </return-value>
  1137. <parameters>
  1138. <instance-parameter name="enumerator" transfer-ownership="none">
  1139. <doc xml:space="preserve">A #GUdevEnumerator.</doc>
  1140. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1141. </instance-parameter>
  1142. <parameter name="subsystem" transfer-ownership="none">
  1143. <doc xml:space="preserve">Wildcard for subsystem name e.g. 'scsi' or 'a*'.</doc>
  1144. <type name="utf8" c:type="const gchar*"/>
  1145. </parameter>
  1146. </parameters>
  1147. </method>
  1148. <method name="add_match_sysfs_attr"
  1149. c:identifier="g_udev_enumerator_add_match_sysfs_attr"
  1150. version="165">
  1151. <doc xml:space="preserve">All returned devices will have a sysfs attribute matching the given @name and @value.</doc>
  1152. <return-value transfer-ownership="none">
  1153. <doc xml:space="preserve">The passed in @enumerator.</doc>
  1154. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1155. </return-value>
  1156. <parameters>
  1157. <instance-parameter name="enumerator" transfer-ownership="none">
  1158. <doc xml:space="preserve">A #GUdevEnumerator.</doc>
  1159. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1160. </instance-parameter>
  1161. <parameter name="name" transfer-ownership="none">
  1162. <doc xml:space="preserve">Wildcard filter for sysfs attribute key.</doc>
  1163. <type name="utf8" c:type="const gchar*"/>
  1164. </parameter>
  1165. <parameter name="value" transfer-ownership="none">
  1166. <doc xml:space="preserve">Wildcard filter for sysfs attribute value.</doc>
  1167. <type name="utf8" c:type="const gchar*"/>
  1168. </parameter>
  1169. </parameters>
  1170. </method>
  1171. <method name="add_match_tag"
  1172. c:identifier="g_udev_enumerator_add_match_tag"
  1173. version="165">
  1174. <doc xml:space="preserve">All returned devices will match the given @tag.</doc>
  1175. <return-value transfer-ownership="none">
  1176. <doc xml:space="preserve">The passed in @enumerator.</doc>
  1177. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1178. </return-value>
  1179. <parameters>
  1180. <instance-parameter name="enumerator" transfer-ownership="none">
  1181. <doc xml:space="preserve">A #GUdevEnumerator.</doc>
  1182. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1183. </instance-parameter>
  1184. <parameter name="tag" transfer-ownership="none">
  1185. <doc xml:space="preserve">A udev tag e.g. "udev-acl".</doc>
  1186. <type name="utf8" c:type="const gchar*"/>
  1187. </parameter>
  1188. </parameters>
  1189. </method>
  1190. <method name="add_nomatch_subsystem"
  1191. c:identifier="g_udev_enumerator_add_nomatch_subsystem"
  1192. version="165">
  1193. <doc xml:space="preserve">All returned devices will not match the given @subsystem.</doc>
  1194. <return-value transfer-ownership="none">
  1195. <doc xml:space="preserve">The passed in @enumerator.</doc>
  1196. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1197. </return-value>
  1198. <parameters>
  1199. <instance-parameter name="enumerator" transfer-ownership="none">
  1200. <doc xml:space="preserve">A #GUdevEnumerator.</doc>
  1201. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1202. </instance-parameter>
  1203. <parameter name="subsystem" transfer-ownership="none">
  1204. <doc xml:space="preserve">Wildcard for subsystem name e.g. 'scsi' or 'a*'.</doc>
  1205. <type name="utf8" c:type="const gchar*"/>
  1206. </parameter>
  1207. </parameters>
  1208. </method>
  1209. <method name="add_nomatch_sysfs_attr"
  1210. c:identifier="g_udev_enumerator_add_nomatch_sysfs_attr"
  1211. version="165">
  1212. <doc xml:space="preserve">All returned devices will not have a sysfs attribute matching the given @name and @value.</doc>
  1213. <return-value transfer-ownership="none">
  1214. <doc xml:space="preserve">The passed in @enumerator.</doc>
  1215. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1216. </return-value>
  1217. <parameters>
  1218. <instance-parameter name="enumerator" transfer-ownership="none">
  1219. <doc xml:space="preserve">A #GUdevEnumerator.</doc>
  1220. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1221. </instance-parameter>
  1222. <parameter name="name" transfer-ownership="none">
  1223. <doc xml:space="preserve">Wildcard filter for sysfs attribute key.</doc>
  1224. <type name="utf8" c:type="const gchar*"/>
  1225. </parameter>
  1226. <parameter name="value" transfer-ownership="none">
  1227. <doc xml:space="preserve">Wildcard filter for sysfs attribute value.</doc>
  1228. <type name="utf8" c:type="const gchar*"/>
  1229. </parameter>
  1230. </parameters>
  1231. </method>
  1232. <method name="add_sysfs_path"
  1233. c:identifier="g_udev_enumerator_add_sysfs_path"
  1234. version="165">
  1235. <doc xml:space="preserve">Add a device to the list of devices, to retrieve it back sorted in dependency order.</doc>
  1236. <return-value transfer-ownership="none">
  1237. <doc xml:space="preserve">The passed in @enumerator.</doc>
  1238. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1239. </return-value>
  1240. <parameters>
  1241. <instance-parameter name="enumerator" transfer-ownership="none">
  1242. <doc xml:space="preserve">A #GUdevEnumerator.</doc>
  1243. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1244. </instance-parameter>
  1245. <parameter name="sysfs_path" transfer-ownership="none">
  1246. <doc xml:space="preserve">A sysfs path, e.g. "/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda"</doc>
  1247. <type name="utf8" c:type="const gchar*"/>
  1248. </parameter>
  1249. </parameters>
  1250. </method>
  1251. <method name="execute"
  1252. c:identifier="g_udev_enumerator_execute"
  1253. version="165">
  1254. <doc xml:space="preserve">Executes the query in @enumerator.</doc>
  1255. <return-value transfer-ownership="full">
  1256. <doc xml:space="preserve">A list of #GUdevDevice objects. The caller should free the result by using g_object_unref() on each element in the list and then g_list_free() on the list.</doc>
  1257. <type name="GLib.List" c:type="GList*">
  1258. <type name="Device"/>
  1259. </type>
  1260. </return-value>
  1261. <parameters>
  1262. <instance-parameter name="enumerator" transfer-ownership="none">
  1263. <doc xml:space="preserve">A #GUdevEnumerator.</doc>
  1264. <type name="Enumerator" c:type="GUdevEnumerator*"/>
  1265. </instance-parameter>
  1266. </parameters>
  1267. </method>
  1268. <property name="client"
  1269. version="165"
  1270. writable="1"
  1271. construct-only="1"
  1272. transfer-ownership="none">
  1273. <doc xml:space="preserve">The #GUdevClient to enumerate devices from.</doc>
  1274. <type name="Client"/>
  1275. </property>
  1276. <field name="parent">
  1277. <type name="GObject.Object" c:type="GObject"/>
  1278. </field>
  1279. <field name="priv" readable="0" private="1">
  1280. <type name="EnumeratorPrivate" c:type="GUdevEnumeratorPrivate*"/>
  1281. </field>
  1282. </class>
  1283. <record name="EnumeratorClass"
  1284. c:type="GUdevEnumeratorClass"
  1285. glib:is-gtype-struct-for="Enumerator"
  1286. version="165">
  1287. <doc xml:space="preserve">Class structure for #GUdevEnumerator.</doc>
  1288. <field name="parent_class">
  1289. <doc xml:space="preserve">Parent class.</doc>
  1290. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  1291. </field>
  1292. <field name="reserved1">
  1293. <callback name="reserved1">
  1294. <return-value transfer-ownership="none">
  1295. <type name="none" c:type="void"/>
  1296. </return-value>
  1297. </callback>
  1298. </field>
  1299. <field name="reserved2">
  1300. <callback name="reserved2">
  1301. <return-value transfer-ownership="none">
  1302. <type name="none" c:type="void"/>
  1303. </return-value>
  1304. </callback>
  1305. </field>
  1306. <field name="reserved3">
  1307. <callback name="reserved3">
  1308. <return-value transfer-ownership="none">
  1309. <type name="none" c:type="void"/>
  1310. </return-value>
  1311. </callback>
  1312. </field>
  1313. <field name="reserved4">
  1314. <callback name="reserved4">
  1315. <return-value transfer-ownership="none">
  1316. <type name="none" c:type="void"/>
  1317. </return-value>
  1318. </callback>
  1319. </field>
  1320. <field name="reserved5">
  1321. <callback name="reserved5">
  1322. <return-value transfer-ownership="none">
  1323. <type name="none" c:type="void"/>
  1324. </return-value>
  1325. </callback>
  1326. </field>
  1327. <field name="reserved6">
  1328. <callback name="reserved6">
  1329. <return-value transfer-ownership="none">
  1330. <type name="none" c:type="void"/>
  1331. </return-value>
  1332. </callback>
  1333. </field>
  1334. <field name="reserved7">
  1335. <callback name="reserved7">
  1336. <return-value transfer-ownership="none">
  1337. <type name="none" c:type="void"/>
  1338. </return-value>
  1339. </callback>
  1340. </field>
  1341. <field name="reserved8">
  1342. <callback name="reserved8">
  1343. <return-value transfer-ownership="none">
  1344. <type name="none" c:type="void"/>
  1345. </return-value>
  1346. </callback>
  1347. </field>
  1348. </record>
  1349. <record name="EnumeratorPrivate"
  1350. c:type="GUdevEnumeratorPrivate"
  1351. disguised="1">
  1352. </record>
  1353. </namespace>
  1354. </repository>