/freebsd/sys/dev/mlx4/mlx4_core/ |
H A D | mlx4_main.c | 188 dev->caps.reserved_uars = in mlx4_set_num_reserved_uars() 200 if (!(dev->caps.flags & MLX4_DEV_CAP_FLAG_DPDP)) { in mlx4_check_port_params() 201 for (i = 0; i < dev->caps.num_ports - 1; i++) { in mlx4_check_port_params() 209 for (i = 0; i < dev->caps.num_ports; i++) { in mlx4_check_port_params() 210 if (!(port_type[i] & dev->caps.supported_type[i+1])) { in mlx4_check_port_params() 223 for (i = 1; i <= dev->caps.num_ports; ++i) in mlx4_set_port_mask() 224 dev->caps.port_mask[i] = dev->caps.port_type[i]; in mlx4_set_port_mask() 236 if (dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_SYS_EQS) { in mlx4_query_func() 252 struct mlx4_caps *dev_cap = &dev->caps; in mlx4_enable_cqe_eqe_stride() 288 dev->caps.vl_cap[port] = port_cap->max_vl; in _mlx4_dev_port() [all …]
|
H A D | mlx4_qp.c | 173 dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ROCE_V1_V2) in __mlx4_qp_modify() 256 flags &= dev->caps.alloc_res_qp_mask; in mlx4_qp_reserve_range() 405 (dev->caps.num_qps - 1), qp); in mlx4_qp_alloc() 447 if (!(dev->caps.flags2 in mlx4_update_qp() 497 radix_tree_delete(&dev->qp_table_tree, qp->qpn & (dev->caps.num_qps - 1)); in mlx4_qp_remove() 548 err = mlx4_bitmap_init(*bitmap + MLX4_QP_TABLE_ZONE_GENERAL, dev->caps.num_qps, in mlx4_create_zones() 568 dev->caps.reserved_qps_cnt[MLX4_QP_REGION_FW], in mlx4_create_zones() 585 last_offset = dev->caps.reserved_qps_cnt[MLX4_QP_REGION_FW]; in mlx4_create_zones() 748 u32 max_table_offset = dev->caps.dmfs_high_rate_qpn_base + in mlx4_init_qp_table() 749 dev->caps.dmfs_high_rate_qpn_range; in mlx4_init_qp_table() [all …]
|
H A D | mlx4_pd.c | 122 return mlx4_bitmap_init(&priv->pd_bitmap, dev->caps.num_pds, in mlx4_init_pd_table() 124 dev->caps.reserved_pds, 0); in mlx4_init_pd_table() 137 (1 << 16) - 1, dev->caps.reserved_xrcds + 1, 0); in mlx4_init_xrcd_table() 156 dev->caps.uar_page_size); in mlx4_uar_alloc() 223 bf->buf_size = dev->caps.bf_reg_size / 2; in mlx4_bf_alloc() 224 bf->reg = uar->bf_map + idx * dev->caps.bf_reg_size; in mlx4_bf_alloc() 225 if (uar->free_bf_bmap == (1 << dev->caps.bf_regs_per_page) - 1) in mlx4_bf_alloc() 255 idx = (bf->reg - bf->uar->bf_map) / dev->caps.bf_reg_size; in mlx4_bf_free() 277 mlx4_dbg(dev, "Effective reserved_uars=%d\n", dev->caps.reserved_uars); in mlx4_init_uar_table() 279 if (dev->caps.num_uars <= num_reserved_uar) { in mlx4_init_uar_table() [all …]
|
H A D | mlx4_profile.c | 164 dev->caps.num_qps = profile[i].num; in mlx4_make_profile() 173 dev->caps.max_qp_dest_rdma = 1 << priv->qp_table.rdmarc_shift; in mlx4_make_profile() 185 dev->caps.num_srqs = profile[i].num; in mlx4_make_profile() 190 dev->caps.num_cqs = profile[i].num; in mlx4_make_profile() 200 dev->caps.num_eqs = roundup_pow_of_two( in mlx4_make_profile() 205 init_hca->log_num_eqs = ilog2(dev->caps.num_eqs); in mlx4_make_profile() 209 dev->caps.num_mpts = profile[i].num; in mlx4_make_profile() 218 dev->caps.num_mtts = profile[i].num; in mlx4_make_profile() 227 if (dev->caps.steering_mode == in mlx4_make_profile() 229 dev->caps.num_mgms = profile[i].num; in mlx4_make_profile() [all …]
|
H A D | mlx4_fw.c | 406 find_first_bit(actv_ports.ports, dev->caps.num_ports); in mlx4_QUERY_FUNC_CAP_wrapper() 434 MLX4_PUT(outbox->buf, dev->caps.phys_port_id[vhcr->in_modifier], in mlx4_QUERY_FUNC_CAP_wrapper() 443 if (dev->caps.phv_bit[port]) in mlx4_QUERY_FUNC_CAP_wrapper() 464 bitmap_weight(actv_ports.ports, dev->caps.num_ports), in mlx4_QUERY_FUNC_CAP_wrapper() 465 dev->caps.num_ports); in mlx4_QUERY_FUNC_CAP_wrapper() 468 size = dev->caps.function_caps; /* set PF behaviours */ in mlx4_QUERY_FUNC_CAP_wrapper() 476 size = dev->caps.num_qps; in mlx4_QUERY_FUNC_CAP_wrapper() 481 size = dev->caps.num_srqs; in mlx4_QUERY_FUNC_CAP_wrapper() 486 size = dev->caps.num_cqs; in mlx4_QUERY_FUNC_CAP_wrapper() 489 if (!(dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_SYS_EQS) || in mlx4_QUERY_FUNC_CAP_wrapper() [all …]
|
H A D | mlx4_eq.c | 89 if (dev->caps.flags & MLX4_DEV_CAP_FLAG_PORT_MNG_CHG_EV) in get_async_ev_mask() 91 if (dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_RECOVERABLE_ERROR_EVENT) in get_async_ev_mask() 229 slave == dev->caps.function || in mlx4_slave_event() 312 if (slave >= dev->num_slaves || port > dev->caps.num_ports || in mlx4_get_slave_port_state() 329 if (slave >= dev->num_slaves || port > dev->caps.num_ports || in mlx4_set_slave_port_state() 375 if (slave >= dev->num_slaves || port > dev->caps.num_ports || in set_and_calc_slave_port_state() 504 int eqe_size = dev->caps.eqe_size; in mlx4_eq_int() 506 while ((eqe = next_eqe_sw(eq, dev->caps.eqe_factor, eqe_size))) { in mlx4_eq_int() 541 if (!ret && slave != dev->caps.function) { in mlx4_eq_int() 573 if (!ret && slave != dev->caps.function) { in mlx4_eq_int() [all …]
|
/freebsd/sys/dev/hyperv/netvsc/ |
H A D | hn_rndis.c | 409 struct ndis_rss_caps in, caps; in hn_rndis_query_rsscaps() local 426 &in, NDIS_RSS_CAPS_SIZE, &caps, &caps_len, NDIS_RSS_CAPS_SIZE_6_0); in hn_rndis_query_rsscaps() 433 if (caps.ndis_hdr.ndis_type != NDIS_OBJTYPE_RSS_CAPS) { in hn_rndis_query_rsscaps() 435 caps.ndis_hdr.ndis_type); in hn_rndis_query_rsscaps() 438 if (caps.ndis_hdr.ndis_rev < NDIS_RSS_CAPS_REV_1) { in hn_rndis_query_rsscaps() 440 caps.ndis_hdr.ndis_rev); in hn_rndis_query_rsscaps() 443 if (caps.ndis_hdr.ndis_size > caps_len) { in hn_rndis_query_rsscaps() 445 "data size %zu\n", caps.ndis_hdr.ndis_size, caps_len); in hn_rndis_query_rsscaps() 447 } else if (caps.ndis_hdr.ndis_size < NDIS_RSS_CAPS_SIZE_6_0) { in hn_rndis_query_rsscaps() 449 caps.ndis_hdr.ndis_size); in hn_rndis_query_rsscaps() [all …]
|
/freebsd/sys/dev/mmc/ |
H A D | mmc_helpers.c | 49 host->caps |= MMC_CAP_HSPEED; in mmc_parse_sd_speed() 51 host->caps |= MMC_CAP_UHS_SDR12 | MMC_CAP_SIGNALING_180; in mmc_parse_sd_speed() 53 host->caps |= MMC_CAP_UHS_SDR25 | MMC_CAP_SIGNALING_180; in mmc_parse_sd_speed() 55 host->caps |= MMC_CAP_UHS_SDR50 | MMC_CAP_SIGNALING_180; in mmc_parse_sd_speed() 57 host->caps |= MMC_CAP_UHS_SDR104 | MMC_CAP_SIGNALING_180; in mmc_parse_sd_speed() 59 host->caps |= MMC_CAP_UHS_DDR50 | MMC_CAP_SIGNALING_180; in mmc_parse_sd_speed() 67 host->caps |= MMC_CAP_HSPEED; in mmc_parse_mmc_speed() 69 host->caps |= MMC_CAP_MMC_DDR52_120 | MMC_CAP_SIGNALING_120; in mmc_parse_mmc_speed() 71 host->caps |= MMC_CAP_MMC_DDR52_180 | MMC_CAP_SIGNALING_180; in mmc_parse_mmc_speed() 73 host->caps |= MMC_CAP_SIGNALING_330; in mmc_parse_mmc_speed() [all …]
|
/freebsd/sys/dev/bhnd/cores/chipc/ |
H A D | chipc.c | 115 struct chipc_caps *caps); 117 struct chipc_caps *caps); 139 ((_sc)->caps._name) 199 if ((error = chipc_read_caps(sc, &sc->caps))) in chipc_attach() 203 chipc_print_caps(sc->dev, &sc->caps); in chipc_attach() 266 if (sc->caps.nvram_src == BHND_NVRAM_SRC_SPROM || in chipc_add_children() 267 sc->caps.nvram_src == BHND_NVRAM_SRC_OTP) in chipc_add_children() 291 if (sc->caps.pmu && !sc->caps.aob) { in chipc_add_children() 297 } else if (sc->caps.pwr_ctrl) { in chipc_add_children() 324 for (u_int i = 0; i < min(sc->caps.num_uarts, CHIPC_UART_MAX); i++) { in chipc_add_children() [all …]
|
H A D | bhnd_sprom_chipc.c | 59 struct chipc_caps *caps; in chipc_sprom_probe() local 64 caps = BHND_CHIPC_GET_CAPS(chipc); in chipc_sprom_probe() 67 if (!CHIPC_VALID_SPROM_SRC(caps->nvram_src)) in chipc_sprom_probe() 80 struct chipc_caps *caps; in chipc_sprom_attach() local 85 caps = BHND_CHIPC_GET_CAPS(chipc); in chipc_sprom_attach() 92 error = bhnd_sprom_attach(dev, caps->sprom_offset); in chipc_sprom_attach()
|
/freebsd/sys/dev/hid/ |
H A D | hms.c | 117 HIDMAP_CAPS(caps, hms_map); 177 if (hidmap_test_cap(sc->caps, HMS_ABS_X) || in hms_final_cb() 178 hidmap_test_cap(sc->caps, HMS_ABS_Y)) in hms_final_cb() 226 error = HIDMAP_ADD_MAP(&sc->hm, hms_map, sc->caps); in hms_probe() 231 if (!hidmap_test_cap(sc->caps, HMS_REL_X) && in hms_probe() 232 !hidmap_test_cap(sc->caps, HMS_REL_Y) && in hms_probe() 233 !hidmap_test_cap(sc->caps, HMS_ABS_X) && in hms_probe() 234 !hidmap_test_cap(sc->caps, HMS_ABS_Y)) in hms_probe() 237 if (hidmap_test_cap(sc->caps, HMS_ABS_X) || in hms_probe() 238 hidmap_test_cap(sc->caps, HMS_ABS_Y)) in hms_probe() [all …]
|
/freebsd/contrib/ofed/libibverbs/examples/ |
H A D | devinfo.c | 312 static void print_odp_caps(const struct ibv_odp_caps *caps) in print_odp_caps() argument 316 /* general odp caps */ in print_odp_caps() 318 if (caps->general_caps & IBV_ODP_SUPPORT) in print_odp_caps() 320 if (caps->general_caps & unknown_general_caps) in print_odp_caps() 322 caps->general_caps & unknown_general_caps); in print_odp_caps() 326 print_odp_trans_caps(caps->per_transport_caps.rc_odp_caps); in print_odp_caps() 328 print_odp_trans_caps(caps->per_transport_caps.uc_odp_caps); in print_odp_caps() 330 print_odp_trans_caps(caps->per_transport_caps.ud_odp_caps); in print_odp_caps() 345 static void print_tso_caps(const struct ibv_tso_caps *caps) in print_tso_caps() argument 350 printf("\tmax_tso:\t\t\t%d\n", caps->max_tso); in print_tso_caps() [all …]
|
/freebsd/sys/dev/ice/ |
H A D | ice_common.c | 448 * from Get PHY caps with media. in ice_aq_get_phy_caps() 544 ice_debug(hw, ICE_DBG_LINK, "get phy caps dump\n"); in ice_aq_get_netlist_node() 568 ice_debug(hw, ICE_DBG_LINK, "%s: caps = 0x%x\n", prefix, pcaps->caps); in ice_find_netlist_node() 2407 * @caps: pointer to common caps instance in ice_parse_common_caps() 2412 ice_print_led_caps(struct ice_hw *hw, struct ice_hw_common_caps *caps, in ice_parse_common_caps() 2419 caps->led_pin_num); in ice_parse_common_caps() 2422 caps->led_pin_num); in ice_parse_common_caps() 2425 if (!caps in ice_parse_common_caps() 2213 ice_print_led_caps(struct ice_hw * hw,struct ice_hw_common_caps * caps,char const * prefix,bool dbg) ice_print_led_caps() argument 2246 ice_print_sdp_caps(struct ice_hw * hw,struct ice_hw_common_caps * caps,char const * prefix,bool dbg) ice_print_sdp_caps() argument 2285 ice_parse_common_caps(struct ice_hw * hw,struct ice_hw_common_caps * caps,struct ice_aqc_list_caps_elem * elem,const char * prefix) ice_parse_common_caps() argument 2537 ice_recalc_port_limited_caps(struct ice_hw * hw,struct ice_hw_common_caps * caps) ice_recalc_port_limited_caps() argument 3432 ice_caps_to_fc_mode(u8 caps) ice_caps_to_fc_mode() argument 3454 ice_caps_to_fec_mode(u8 caps,u8 fec_options) ice_caps_to_fec_mode() argument 3677 ice_copy_phy_caps_to_cfg(struct ice_port_info * pi,struct ice_aqc_get_phy_caps_data * caps,struct ice_aqc_set_phy_cfg_data * cfg) ice_copy_phy_caps_to_cfg() argument 6283 ice_is_phy_caps_an_enabled(struct ice_aqc_get_phy_caps_data * caps) ice_is_phy_caps_an_enabled() argument [all...] |
/freebsd/contrib/capsicum-test/ |
H A D | fcntl.cc | 44 FileMap caps; in FORK_TEST() local 47 caps[key] = dup(ii->second); in FORK_TEST() 48 EXPECT_OK(cap_rights_limit(caps[key], &rights)); in FORK_TEST() 49 EXPECT_OK(caps[key]) << " on " << ii->first; in FORK_TEST() 130 int CheckFcntl(unsigned long long right, int caps[FCNTL_NUM_RIGHTS], int cmd, long arg, const char*… in CheckFcntl() 140 EXPECT_NOTCAPABLE(fcntl(caps[ii], cmd, arg)); in CheckFcntl() 143 int rc = fcntl(caps[ok_index], cmd, arg); in CheckFcntl() 149 #define CHECK_FCNTL(right, caps, cmd, arg) \ argument 150 CheckFcntl(right, caps, cmd, arg, "fcntl(" #cmd ") expect " #right) 159 int caps[FCNTL_NUM_RIGHTS]; in TEST() local [all …]
|
/freebsd/sys/dev/nctgpio/ |
H A D | nctgpio.c | 92 uint32_t caps; member 164 .caps = NCT_GPIO_CAPS, 176 .caps = NCT_GPIO_CAPS, 188 .caps = NCT_GPIO_CAPS, 200 .caps = NCT_GPIO_CAPS, 212 .caps = NCT_GPIO_CAPS, 231 .caps = NCT_GPIO_CAPS, 243 .caps = NCT_GPIO_CAPS, 262 .caps = NCT_GPIO_CAPS, 274 .caps = NCT_GPIO_CAPS, [all …]
|
/freebsd/sys/dev/acpica/ |
H A D | acpi_hpet.c | 89 uint32_t caps; member 107 uint32_t caps; member 226 t->caps |= HPET_TCNF_INT_ENB; in hpet_start() 230 if (t->mode == TIMER_PERIODIC && (t->caps & HPET_TCAP_PER_INT)) { in hpet_start() 231 t->caps |= HPET_TCNF_TYPE; in hpet_start() 233 t->caps | HPET_TCNF_VAL_SET); in hpet_start() 239 t->caps &= ~HPET_TCNF_TYPE; in hpet_start() 241 t->caps); in hpet_start() 262 t->caps &= ~(HPET_TCNF_INT_ENB | HPET_TCNF_TYPE); in hpet_stop() 263 bus_write_4(sc->mem_res, HPET_TIMER_CAP_CNF(t->num), t->caps); in hpet_stop() [all …]
|
/freebsd/sys/dev/rccgpio/ |
H A D | rccgpio.c | 54 uint32_t caps; member 58 { .pin = (1 << 11), .name = "reset switch", .caps = GPIO_PIN_INPUT }, 59 { .pin = (1 << 15), .name = "red LED", .caps = GPIO_PIN_OUTPUT }, 60 { .pin = (1 << 17), .name = "green LED", .caps = GPIO_PIN_OUTPUT }, 62 { .pin = (1 << 16), .name = "HD1 LED", .caps = GPIO_PIN_OUTPUT }, 63 { .pin = (1 << 18), .name = "HD2 LED", .caps = GPIO_PIN_OUTPUT }, 122 rcc_gpio_pin_getcaps(device_t dev, uint32_t pin, uint32_t *caps) in rcc_gpio_pin_getcaps() argument 130 *caps = rcc_pins[pin].caps; in rcc_gpio_pin_getcaps() 145 *flags = rcc_pins[pin].caps; in rcc_gpio_pin_getflags() 187 if ((rcc_pins[pin].caps & GPIO_PIN_OUTPUT) == 0) in rcc_gpio_pin_set() [all …]
|
/freebsd/sys/dev/mlx4/mlx4_ib/ |
H A D | mlx4_ib_main.c | 103 int dmfs = dev->caps.steering_mode == MLX4_STEERING_MODE_DEVICE_MANAGED; in check_flow_steering_support() 112 (dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_DMFS_IPOIB)) && in check_flow_steering_support() 114 (dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_FS_EN)); in check_flow_steering_support() 249 if (ibdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ROCE_V1_V2) in mlx4_ib_update_gids() 485 props->fw_ver = dev->dev->caps.fw_ver; in mlx4_ib_query_device() 491 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_BAD_PKEY_CNTR) in mlx4_ib_query_device() 493 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_BAD_QKEY_CNTR) in mlx4_ib_query_device() 495 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_APM && have_ib_ports) in mlx4_ib_query_device() 497 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_UD_AV_PORT) in mlx4_ib_query_device() 499 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_IPOIB_CSUM) in mlx4_ib_query_device() [all …]
|
/freebsd/sys/contrib/device-tree/Bindings/memory-controllers/ti/ |
H A D | emif.txt | 47 - hw-caps-read-idle-ctrl: Have this property if the controller 50 - hw-caps-dll-calib-ctrl: Have this property if the controller 53 - hw-caps-ll-interface : Have this property if the controller 56 - hw-caps-temp-alert : Have this property if the controller 67 hw-caps-read-idle-ctrl; 68 hw-caps-ll-interface; 69 hw-caps-temp-alert;
|
/freebsd/contrib/libarchive/unzip/test/ |
H A D | test_x.c | 24 assertTextFileContents("contents CAPS\n", "test_basic/CAPS"); in DEFINE_TEST() 42 assertTextFileContents("contents CAPS\n", "test_basic/CAPS"); in DEFINE_TEST() 60 assertTextFileContents("contents CAPS\n", "foobar/test_basic/CAPS"); in DEFINE_TEST()
|
/freebsd/sys/dev/sound/pcm/ |
H A D | vchan.c | 59 struct pcmchan_caps caps; member 95 info->caps.fmtlist = info->fmtlist + in vchan_init() 123 if (!snd_fmtvalid(format, info->caps.fmtlist)) in vchan_setformat() 138 return (info->caps.maxspeed); in vchan_setspeed() 206 info->caps.fmtlist = info->fmtlist; in vchan_getcaps() 208 for (i = 0; info->caps.fmtlist[i] != 0; i++) { in vchan_getcaps() 209 if (info->caps.fmtlist[i] & AFMT_PASSTHROUGH) in vchan_getcaps() 213 info->caps.fmtlist[i] = pformat; in vchan_getcaps() 216 info->caps.minspeed = c->speed; in vchan_getcaps() 218 info->caps.minspeed = pspeed; in vchan_getcaps() [all …]
|
/freebsd/lib/ncurses/tinfo/ |
H A D | Makefile | 219 …_DIR}/ncurses/tinfo/MKnames.awk bigstrings=${USE_BIG_STRINGS} ${NCURSES_DIR}/include/Caps > names.c 222 …_DIR}/ncurses/tinfo/MKcodes.awk bigstrings=${USE_BIG_STRINGS} ${NCURSES_DIR}/include/Caps > codes.c 231 comp_captab.c: MKcaptab.sh MKcaptab.awk Caps Caps-ncurses make_hash 234 ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses > comp_captab.c 240 comp_userdefs.c: MKuserdefs.sh Caps Caps-ncurses make_hash 242 ${USE_BIG_STRINGS} ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses > ${.TARGET} 252 hashsize.h: MKhashsize.sh Caps Caps-ncurses 253 …sh ${NCURSES_DIR}/include/MKhashsize.sh ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-nc… 255 parametrized.h: MKparametrized.sh Caps Caps-ncurses 257 ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses > $@ [all …]
|
/freebsd/tools/regression/security/cap_test/ |
H A D | cap_test_fcntl.c | 78 struct fd caps[] = { in test_fcntl() local 83 REQUIRE(caps[0].f_fd); in test_fcntl() 84 REQUIRE(caps[1].f_fd); in test_fcntl() 85 REQUIRE(caps[2].f_fd); in test_fcntl() 88 files[0], caps[0], in test_fcntl() 89 files[1], caps[1], in test_fcntl() 90 files[2], caps[2], in test_fcntl()
|
/freebsd/sys/dev/sound/ |
H A D | dummy.c | 53 struct pcmchan_caps *caps; member 63 struct pcmchan_caps caps; member 145 ch->caps = &sc->caps; in dummy_chan_init() 165 for (i = 0; ch->caps->fmtlist[i]; i++) in dummy_chan_setformat() 166 if (format == ch->caps->fmtlist[i]) in dummy_chan_setformat() 177 RANGE(speed, ch->caps->minspeed, ch->caps->maxspeed); in dummy_chan_setspeed() 232 return (ch->caps); in dummy_chan_getcaps() 319 sc->caps = (struct pcmchan_caps){ in dummy_attach() 323 0, /* caps */ in dummy_attach()
|
/freebsd/contrib/ncurses/man/ |
H A D | MKterminfo.sh | 4 # MKterminfo.sh -- generate terminfo.5 from Caps tabular data 36 # them a table derived from the Caps data file. Besides avoiding having 55 caps= 58 caps="$caps $1" 65 .\\" It is generated from terminfo.head, $caps, and terminfo.tail. 78 cat $caps | sed -n "\
|