h$52=      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} (c) Sam Truzjan 2013BSD3pxqr.sta@gmail.com experimentalportableNoneyudevOpaque object representing the current event queue in the udev daemon.udevOpaque object representing one entry in a list. An entry contains contains a name, and optionally a value.udev1Opaque object representing the hardware database.udev:Opaque object representing one device lookup/sort context.udev1Opaque object representing one kernel sys device.udev/Opaque object representing the library context.udevFamily of udev resources.udev%Get the context a resource belong to.~(c) Sam Truzjan 2013BSD3pxqr.sta@gmail.com experimentalportableNoneudev!Get the next entry from the list. udev0Lookup an entry in the list with a certain name. udevGet the name of a list entry. udevGet the value of list entry.  (c) Sam Truzjan 2013BSD3pxqr.sta@gmail.comstableportableNone b udev.Logger function will called by udev on events. udevLog message priority.udeverror conditionsudev informationaludevdebug-level messagesudevCreate udev library context. This reads the udev configuration file, and fills in the default values.udevLike & but context will be released at exit.udevThe initial logging priority is read from the udev config file at startup.udevSet the current logging priority. The value controls which messages are logged.udevThe built-in logging writes to stderr. It can be overridden by a custom function, to plug log messages into the users' logging functionality.udevDefault logger will just print %PRIO %FILE:%LINE:n%FN: %FORMAT to stdout.udevRetrieve stored data pointer from library context. This might be useful to access from callbacks like a custom logging function.udev-Store custom userdata in the library context. udevmessage priority;udevposition: fileudevposition: lineudevposition: functionudev message body   (c) Sam Truzjan 2013BSD3pxqr.sta@gmail.com experimentalportableNone udevSequence number of event.!udevCreate a new queue."udev&Check if udev is active on the system.#udev1Check if udev is currently processing any events.$udev>Check if udev is currently processing a given sequence number.%udevCheck if udev is currently processing any events in a given sequence number range.&udev1Get the first entry of the list of queued events.'udev-Get the current kernel event sequence number.(udev.Get the last known udev event sequence number.$udevudev queue contextudevsequence numberudev2if the given sequence number is currently active.%udevudev queue contextudevfirst event sequence numberudevlast event sequence numberudevif any of the sequence numbers in the given range is currently active !"#$%&'( !"#$&%'((c) Sam Truzjan 2013BSD3pxqr.sta@gmail.comstableportableNone)udevCreate a hardware database context to query properties for devices.*udevLookup a matching device in the hardware database. The lookup key is a modalias string, whose formats are defined for the Linux kernel modules. Examples are: pci:v00008086d00001C2D*, usb:v04F2pB221*. The first entry of a list of retrieved properties is returned.)*)*(c) Sam Truzjan 2013BSD3pxqr.sta@gmail.comstableportableNone #$ 2udevDevice number.3udevCreate new udev device, and fill in information from the sys device and the udev database entry. The syspath is the absolute path to the device, including the sys mount point.4udevCreate new udev device, and fill in information from the sys device and the udev database entry. The device is looked-up by its major/minor number and type. Character and block device numbers are not unique across the two types.5udevThe device is looked up by the subsystem and name string of the device, like "mem" / "zero", or "block" / "sda".6udev,The device is looked-up by a special string:b8:2 - block device major:minor c128:1 - char device major:minorn3 - network device ifindex8+sound:card29 - kernel driver core subsystem:device name7udevCreate new udev device, and fill in information from the current process environment. This only works reliable if the process is called from a udev rule. It is usually used for tools executed from IMPORT= rules.8udevFind the next parent device, and fill in information from the sys device and the udev database entry.9udevFind the next parent device, with a matching subsystem and devtype value, and fill in information from the sys device and the udev database entry.:udevRetrieve the kernel devpath value of the udev device. The path does not contain the sys mount point, and starts with a '/'.;udevRetrieve the subsystem string of the udev device. The string does not contain any "/".<udev/Retrieve the devtype string of the udev device.=udevRetrieve the sys path of the udev device. The path is an absolute path and starts with the sys mount point.>udev#Get the kernel device name in /sys.?udev&Get the instance number of the device.@udevRetrieve the device node file name belonging to the udev device. The path is an absolute path, and starts with the device directory.AudevCheck if udev has already handled the device and has set up device node permissions and context, or has renamed a network device.This is only implemented for devices with a device node or network interfaces. All other devices return 1 here.BudevRetrieve the list of device links pointing to the device file of the udev device. The next list entry can be retrieved with , which returns  if no more entries exist. The devlink path can be retrieved from the list entry by  . The path is an absolute path, and starts with the device directory.CudevRetrieve the list of key/value device properties of the udev device. The next list entry can be retrieved with , which returns  if no more entries exist. The property name can be retrieved from the list entry by  , the property value by  .DudevRetrieve the list of tags attached to the udev device. The next list entry can be retrieved with , which returns  if no more entries exist. The tag string can be retrieved from the list entry by  .Eudev"Get the value of a given property.FudevGet the kernel driver name.Gudev"Get the device major/minor number.HudevThis is only valid if the device was received through a monitor. Devices read from sys do not have an action string.IudevThe retrieved value is cached in the device. Repeated calls will return the same value and not open the attribute again.JudevUpdate the contents of the sys attribute and the cached value of the device.KudevRetrieve the list of available sysattrs, with value being empty; This just return all available sysfs attributes for a particular device without reading their values.LudevThis is only valid if the device was received through a monitor. Devices read from sys do not have a sequence number.MudevReturn the number of microseconds passed since udev set up the device for the first time.This is only implemented for devices with need to store properties in the udev database. All other devices return  here.Nudev5Check if a given device has a certain tag associated.Judevattribute nameudevnew value to be set%+,-./0123456789:;<=>?@ABCDEFGHIJKLMN%2+,-./013456789:;<=>?@ABCDEFGHIJKLMN(c) Sam Truzjan 2013BSD3pxqr.sta@gmail.com experimentalportableNone &WudevEvent source identifier.Xudev5Events are sent out just after kernel processes them.Applications should usually not connect directly to the "kernel" events, because the devices might not be useable at that time, before udev has configured them, and created device nodes. Use Y instead.YudevEvents are sent out after udev has finished its event processing, all rules have been processed, and needed device nodes are created.ZudevFor extensibility.[udev'Opaque object handling an event source.\udevCreate new udev monitor and connect to a specified event source.]udev Binds the [ socket to the event source.^udev)Set the size of the kernel socket buffer._udevRetrieve the socket file descriptor associated with the monitor.`udev Similar to _ but retrieves the socket handle associated with the monitor.audevReceive data from the udev monitor socket, allocate a new udev device, fill in the received data, and return the device.budev+Filter events by subsystem and device type. The filter must be= installed before the monitor is switched to listening mode.cudevThe filter must be installed before the monitor is switched to listening mode.dudevUpdate the installed socket filter. This is only needed, if the filter was removed or changed.eudev Remove all filters from monitor.WXYZ[\]^_`abcde[WXYZ\]^_`abcde(c) Sam Truzjan 2013BSD3pxqr.sta@gmail.comstableportableNone0gludevAttribute specific /sys value string. Can be an int or identifier depending on attribute.mudev/sys attribute string.nudevKernel subsystem string.oudev+Create an enumeration context to scan /sys.pudev;Match only devices belonging to a certain kernel subsystem.qudev?Match only devices not belonging to a certain kernel subsystem.rudev8Match only devices with a certain /sys device attribute.sudev>Match only devices not having a certain /sys device attribute.tudev+Match only devices with a certain property.uudev&Match only devices with a certain tag.vudevReturn the devices on the subtree of one given device. The parent itself is included in the list.A reference for the device is held until the udev_enumerate context is cleaned up.wudev1Match only devices which udev has set up already.xudev1Match only devices with a given /sys device name.yudevAdd a device to the list of devices, to retrieve it back sorted in dependency order.zudev8Scan /sys for all devices which match the given filters.{udev8Scan /sys for all devices which match the given filters.|udev7Get the first entry of the sorted list of device paths. pudevcontextudevfilter for a subsystem of the device to exclude from the listudevcan throw exceptionrudevcontextudevfilter for a sys attribute at the device to include in the listudev#optional value of the sys attributeudevcan throw exceptionsudevcontextudevfilter for a sys attribute at the device to exclude from the listudev$optional value of the sys attributetudevcontextudev;filter for a property of the device to include in the listudevvalue of the propertyuudevcontextudev6filter for a tag of the device to include in the listvudevcontextudev&parent device where to start searchingudevcan throw exceptionxudevcontextudev9filter for the name of the device to include in the listudevcan throw exceptionyudevcontextudevpath of a deviceudevcan throw exceptionlmnopqrstuvwxyz{|onpqmlrstuvwxyz{|(c) Sam Truzjan 2013BSD3pxqr.sta@gmail.com experimentalportable Safe-Inferred1l}udevEncode all potentially unsafe characters of a string to the corresponding 2 char hex value prefixed by 'x'.}} (c) Sam Truzjan 2013BSD3pxqr.sta@gmail.com experimentalportableNone1  !"#$%&'()*+10/.,-23456789:;<=>?@ABCDEFGHIJKLMNWZXY[\]^_`abcdelmnopqrstuvwxyz{|}         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~            udev-0.1.1.0-inplaceSystem.UDev.QueueSystem.UDev.ListSystem.UDev.HWDBSystem.UDev.EnumerateSystem.UDev.DeviceSystem.UDev.ContextSystem.UDev.MonitorSystem.UDev.UtilSystem.UDev.Types System.UDevQueueListHWDB EnumerateDeviceUDev UDevChildgetUDevgetNext getByNamegetNamegetValueLoggerPriorityLogErrorLogInfoLogDebugnewUDevfreeUDevwithUDevgetLogPrioritysetLogPriority setLogger defaultLogger getUserdata setUserdata$fShowPriority$fReadPriority $fEqPriority $fOrdPriority$fEnumPriority$fBoundedPrioritySeqnumnewQueueisActiveisEmpty isFinishedsequenceIsFinished getPendinggetKernelSeqnum getUDevSeqnumnewHWDBgetPropertiesListActionAddRemoveChangeOnlineOfflineOtherDevnumnewFromSysPath newFromDevnumnewFromSubsystemSysnamenewFromDeviceIdnewFromEnvironment getParentgetParentWithSubsystemDevtype getDevpath getSubsystem getDevtype getSyspath getSysname getSysnum getDevnode isInitializedgetDevlinksListEntrygetPropertiesListEntrygetTagsListEntrygetPropertyValue getDriver getDevnum getActiongetSysattrValuesetSysattrValuegetSysattrListEntry getSeqnumgetUsecSinceInitializedhasTag $fShowAction $fReadAction $fEqAction $fOrdAction $fShowDevnum $fReadDevnum $fEqDevnum $fOrdDevnumSourceIdKernelIdUDevIdOtherIdMonitornewFromNetlinkenableReceivingsetReceiveBufferSizegetFd getHandle receiveDevicefilterAddMatchSubsystemDevtypefilterAddMatchTag filterUpdate filterRemove $fRefMonitor$fUDevChildMonitor$fShowSourceId$fReadSourceId $fEqSourceId $fOrdSourceIdSysValueSysAttr Subsystem newEnumerateaddMatchSubsystemaddNoMatchSubsystemaddMatchSysattraddNoMatchSysattraddMatchProperty addMatchTagaddMatchParentaddMatchIsInitializedaddMatchSysname addSyspath scanDevicesscanSubsystems getListEntry encodeStringgetQueue getDeviceRefrefunrefnilbase GHC.MaybeNothing