В заголовке говорится, что это такое и для чего оно используется (<linux/usb/serial.h>
):
@calc_num_ports: pointer to a function to determine how many ports this
* device has dynamically. It can also be used to verify the number of
* endpoints or to modify the port-endpoint mapping. It will be called
* after the probe() callback is called, but before attach().
Синтаксис для указателя функции не очень интуитивно понятен. Учтите следующее:
int *calc_num_ports(struct usb_serial *serial, struct usb_serial_endpoints *epds);
int (*calc_num_ports)(struct usb_serial *serial, struct usb_serial_endpoints *epds);
Первый - это прототип функции с именем calc_num_ports
, которая принимает два аргумента: struct usb_serial *
и struct usb_serial_endpoints *
и return
s и int *
.
Второй тип переменной, для которой требуется адрес функции, которая принимает два аргумента: struct usb_serial *
и struct usb_serial_endpoints *
и return
s и int
.