Home
last modified time | relevance | path

Searched refs:if_getdrvflags (Results 1 – 25 of 29) sorted by relevance

12

/haiku/src/libs/compat/openbsd_network/compat/net/
H A Difq.h12 #define ifq_is_oactive(IFQ) ((if_getdrvflags(ifp) & IFF_DRV_OACTIVE) != 0)
/haiku/src/add-ons/kernel/drivers/network/ether/sis19x/dev/sge/
H A Dif_sge.c388 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in sge_miibus_statchg()
728 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in sge_suspend()
1158 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in sge_rxeof()
1363 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in sge_intr()
1380 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in sge_intr()
1578 (if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in sge_start_locked()
1637 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in sge_init_locked()
1770 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && in sge_ioctl()
1776 } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in sge_ioctl()
1822 if (reinit > 0 && (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in sge_ioctl()
[all …]
/haiku/src/add-ons/kernel/drivers/network/ether/rtl8139/dev/rl/
H A Dif_rl.c486 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in rl_miibus_statchg()
1441 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in rl_poll()
1501 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in rl_intr()
1512 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { in rl_intr()
1534 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in rl_intr()
1628 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in rl_start_locked()
1690 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in rl_init_locked()
1820 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && in rl_ioctl()
1826 } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in rl_ioctl()
/haiku/src/add-ons/kernel/drivers/network/ether/rdc/dev/vte/
H A Dif_vte.c227 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in vte_miibus_statchg()
949 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in vte_suspend()
1119 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in vte_start_locked()
1197 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && in vte_ioctl()
1203 } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in vte_ioctl()
1211 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in vte_ioctl()
1357 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in vte_intr()
1374 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in vte_intr()
1507 for (prog = 0; (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0; prog++, in vte_rxeof()
1656 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in vte_init_locked()
/haiku/src/add-ons/kernel/drivers/network/ether/rtl81xx/dev/re/
H A Dif_re.c627 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in re_miibus_statchg()
2200 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in re_rxeof()
2520 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in re_poll()
2601 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { in re_int_task()
2673 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { in re_intr_msi()
2691 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in re_intr_msi()
2727 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in re_intr_msi()
2966 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in re_start_locked()
3109 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in re_init_locked()
3430 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in re_ioctl()
[all …]
/haiku/src/add-ons/kernel/drivers/network/ether/pcnet/dev/le/
H A Dlance.c527 if_getdrvflags(ifp) & IFF_DRV_RUNNING) { in lance_ioctl()
534 !(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { in lance_ioctl()
557 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in lance_ioctl()
H A Dam79900.c550 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in am79900_start_locked()
H A Dam7990.c502 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in am7990_start_locked()
/haiku/src/add-ons/kernel/drivers/network/ether/ipro100/dev/fxp/
H A Dif_fxp.c1348 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in fxp_start_body()
1678 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { in fxp_poll()
1748 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in fxp_intr()
2015 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in fxp_intr_body()
2154 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in fxp_tick()
2289 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in fxp_init_body()
2814 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0 || in fxp_miibus_statchg()
2852 if (((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) && in fxp_ioctl()
2857 } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in fxp_ioctl()
2860 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in fxp_ioctl()
[all …]
/haiku/src/add-ons/kernel/drivers/network/ether/broadcom440x/dev/bfe/
H A Dif_bfe.c613 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && in bfe_resume()
1464 if (istat == 0 || (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { in bfe_intr()
1619 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in bfe_start_locked()
1696 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in bfe_init_locked()
1779 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in bfe_ioctl()
1783 } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in bfe_ioctl()
1790 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in bfe_ioctl()
/haiku/src/add-ons/kernel/drivers/network/ether/attansic_l2/dev/ae/
H A Dif_ae.c567 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in ae_init_locked()
1539 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in ae_start_locked()
1594 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { in ae_link_task()
1778 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in ae_int_task()
2105 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in ae_ioctl()
2115 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in ae_ioctl()
2124 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in ae_ioctl()
2133 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in ae_ioctl()
/haiku/src/libs/compat/freebsd_iflib/
H A Diflib.c562 #define CTX_ACTIVE(ctx) ((if_getdrvflags((ctx)->ifc_ifp) & IFF_DRV_RUNNING))
857 status = if_getdrvflags(ifp) & IFF_DRV_RUNNING ? 0 : 1; in iflib_netmap_register()
2456 if (!(if_getdrvflags(ctx->ifc_ifp) & IFF_DRV_RUNNING)) in iflib_timer()
2485 if (if_getdrvflags(ctx->ifc_ifp) & IFF_DRV_RUNNING) in iflib_timer()
2581 i = if_getdrvflags(ifp); in iflib_init_locked()
2584 MPASS(if_getdrvflags(ifp) == i); in iflib_init_locked()
4014 if (__predict_false(!(if_getdrvflags(ifp) & IFF_DRV_RUNNING) || in iflib_txq_drain()
4036 if (__predict_false(if_getdrvflags(ctx->ifc_ifp) & IFF_DRV_OACTIVE)) { in iflib_txq_drain()
4091 if (__predict_false(!(if_getdrvflags(ifp) & IFF_DRV_RUNNING))) in iflib_txq_drain()
4169 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) in _task_fn_tx()
[all …]
/haiku/src/add-ons/kernel/drivers/network/ether/3com/dev/xl/
H A Dif_xl.c1944 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) in xl_rxeof()
1981 if (if_getdrvflags(sc->xl_ifp) & IFF_DRV_RUNNING) in xl_rxeof_task()
2236 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING)
2473 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
2605 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
2698 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0)
3024 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING &&
3031 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING)
3041 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING)
/haiku/src/add-ons/kernel/drivers/network/ether/vt612x/dev/vge/
H A Dif_vge.c1453 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0; in vge_rxeof()
1708 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) in vge_poll()
1782 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in vge_intr()
1803 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in vge_intr()
1964 (if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in vge_start_locked()
2031 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in vge_init_locked()
2281 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && in vge_ioctl()
2287 } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in vge_ioctl()
2295 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in vge_ioctl()
/haiku/src/add-ons/kernel/drivers/network/ether/broadcom570x/dev/bge/
H A Dif_bge.c1211 if ((if_getdrvflags(sc->bge_ifp) & IFF_DRV_RUNNING) == 0) in bge_miibus_statchg()
4421 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) in bge_rxeof()
4544 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { in bge_poll()
4576 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { in bge_poll()
4615 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { in bge_intr_task()
4644 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && in bge_intr_task()
4651 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { in bge_intr_task()
4724 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { in bge_intr()
4729 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { in bge_intr()
4734 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && in bge_intr()
[all …]
/haiku/src/add-ons/kernel/drivers/network/ether/dec21xxx/dev/dc/
H A Dif_dc.c846 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in dc_miibus_statchg()
2871 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0; in dc_rxeof()
3232 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { in dc_poll()
3241 !(if_getdrvflags(ifp) & IFF_DRV_OACTIVE)) in dc_poll()
3313 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in dc_intr()
3364 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in dc_intr()
3534 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in dc_start_locked()
3599 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in dc_init_locked()
3866 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { in dc_ioctl()
3874 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in dc_ioctl()
[all …]
/haiku/src/add-ons/kernel/drivers/network/ether/nforce/dev/nfe/
H A Dif_nfe.c909 if (sc->nfe_link != 0 && (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in nfe_miibus_statchg()
1618 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { in nfe_poll()
1706 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { in nfe_ioctl()
1722 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) && in nfe_ioctl()
1729 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in nfe_ioctl()
1738 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in nfe_ioctl()
1819 if (init > 0 && (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in nfe_ioctl()
1882 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { in nfe_int_task()
2606 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in nfe_start_locked()
2700 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in nfe_init_locked()
/haiku/src/add-ons/kernel/drivers/network/ether/marvell_yukon/dev/msk/
H A Dif_msk.c484 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in msk_miibus_statchg()
1086 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in msk_ioctl()
1096 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && in msk_ioctl()
1102 } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in msk_ioctl()
1110 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in msk_ioctl()
1165 if (reinit > 0 && (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in msk_ioctl()
2929 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in msk_start_locked()
3009 ((if_getdrvflags(sc->msk_if[i]->msk_ifp) & in mskc_shutdown()
3032 ((if_getdrvflags(sc->msk_if[i]->msk_ifp) & in mskc_suspend()
3638 if (!(if_getdrvflags(sc_if->msk_ifp) & IFF_DRV_RUNNING)) in msk_handle_events()
[all …]
/haiku/src/add-ons/kernel/drivers/network/ether/via_rhine/dev/vr/
H A Dif_vr.c305 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in vr_miibus_statchg()
1590 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in vr_poll()
1711 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0 || in vr_int_task()
1975 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in vr_start_locked()
2037 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in vr_init_locked()
2234 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { in vr_ioctl()
2243 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in vr_ioctl()
/haiku/src/add-ons/kernel/drivers/network/ether/atheros813x/dev/alc/
H A Dif_alc.c417 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in alc_miibus_statchg()
1259 else if ((if_getdrvflags(sc->alc_ifp) & IFF_DRV_RUNNING) != 0) in alc_aspm_816x()
2957 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in alc_start_locked()
3071 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && in alc_ioctl()
3077 } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in alc_ioctl()
3085 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in alc_ioctl()
3381 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in alc_int_task()
3409 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && in alc_int_task()
3422 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in alc_int_task()
3548 for (prog = 0; (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0;) { in alc_rxintr()
[all …]
/haiku/src/add-ons/kernel/drivers/network/ether/atheros81xx/dev/ale/
H A Dif_ale.c264 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in ale_miibus_statchg()
1894 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in ale_start_locked()
1978 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in ale_ioctl()
1988 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in ale_ioctl()
1996 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in ale_ioctl()
2005 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in ale_ioctl()
2255 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in ale_int_task()
2634 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in ale_init_locked()
/haiku/src/add-ons/kernel/drivers/network/ether/syskonnect/dev/sk/
H A Dif_sk.c1076 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { in sk_ioctl()
1087 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { in sk_ioctl()
1094 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in sk_ioctl()
1103 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in sk_ioctl()
2922 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { in sk_intr_bcom()
3073 if_getdrvflags(ifp0) & IFF_DRV_RUNNING) {
3081 if_getdrvflags(ifp1) & IFF_DRV_RUNNING) {
3438 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING)
/haiku/src/add-ons/kernel/drivers/network/ether/jmicron2x0/dev/jme/
H A Dif_jme.c1890 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in jme_start_locked()
2005 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in jme_ioctl()
2015 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in jme_ioctl()
2024 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in jme_ioctl()
2033 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in jme_ioctl()
2209 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { in jme_link_task()
2382 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in jme_int_task()
2772 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in jme_init_locked()
/haiku/src/add-ons/kernel/drivers/network/ether/attansic_l1/dev/age/
H A Dif_age.c1742 if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != in age_start_locked()
1831 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in age_ioctl()
1841 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in age_ioctl()
1850 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in age_ioctl()
1859 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in age_ioctl()
1977 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { in age_link_task()
2163 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in age_int_task()
2577 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in age_init_locked()
/haiku/src/libs/compat/freebsd_network/
H A Dfbsd_if.c271 if_getdrvflags(const if_t ifp) in if_getdrvflags() function

12