I haven't tested this, but the Looking up ports section of the manual has the function
const char ** jack_get_ports(jack_client_t *, const char *port_name_pattern,
const char *type_name_pattern, unsigned long flags);
If you call it with NULL
patterns and set flags to JackPortIsInput
, I would expect it to list available input ports.