libhal_get_all_devices
if (!(device_names = libhal_get_all_devices(hal_ctx, &num_devices, &error))) {
device_names = libhal_get_all_devices (hal_ctx, &num_devices, &error);
if (!(devices = libhal_get_all_devices(ctx, &nr, error))) {
char **libhal_get_all_devices (LibHalContext *ctx, int *num_devices, DBusError *error);