Data Structures
Here are the data structures with brief descriptions:
 CratbagA handle for accessing ratbag contexts
 Cratbag_buttonRepresents a button on the device
 Cratbag_colorRepresents LED color in RGB format
 Cratbag_deviceA ratbag context represents one single device
 Cratbag_interfaceLibratbag does not open file descriptors to devices directly, instead open_restricted() and close_restricted() are called for each path that must be opened
 Cratbag_ledRepresents a led on the device
 Cratbag_macroRepresents a macro that can be assigned to a button
 Cratbag_profileA handle to a profile context on devices with the RATBAG_DEVICE_CAP_SWITCHABLE_PROFILE capability
 Cratbag_resolutionRepresents a resolution setting on the device