Need BLE HoG feature report sample

I've gotten about this far:

enum {
    HIDS_INPUT = 0x01,
    HIDS_OUTPUT = 0x02,
    HIDS_FEATURE = 0x03,
};
static struct hids_report feature = {
    .id = 0x03,
    .type = HIDS_FEATURE,
};
...
    BT_GATT_CHARACTERISTIC(BT_UUID_HIDS_REPORT,
                   BT_GATT_CHRC_READ | BT_GATT_CHRC_NOTIFY,
                   SAMPLE_BT_PERM_READ,
                   NULL, write_feature_report, NULL),
...
    BT_GATT_DESCRIPTOR(BT_UUID_HIDS_REPORT_REF, BT_GATT_PERM_READ, // attr 12
               read_report, NULL, &feature),
...
So now I need the implementation of write_feature_report. I am lost here. Also, the read function parameter probably shouldn't be null, and the characteristic is probably both read and write. Not sure how to finish implementing feature reports in HoG in Zephyr.
Related