X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/89b3af67bb32e691275bf6fa803d1834b2284115..4a3eedf9ecc9bbe3f3a5c6ce5e53ad199d639d32:/bsd/netat/drv_dep.c diff --git a/bsd/netat/drv_dep.c b/bsd/netat/drv_dep.c index 12ac367e8..01ba010ca 100644 --- a/bsd/netat/drv_dep.c +++ b/bsd/netat/drv_dep.c @@ -52,7 +52,9 @@ #include #include #include +#include #include +#include #include #include @@ -61,12 +63,11 @@ #include #include #include +#include #include #define DSAP_SNAP 0xaa -extern void gref_init(), atp_init(), atp_link(), atp_unlink(); - extern int adspInited; static llc_header_t snap_hdr_at = SNAP_HDR_AT; @@ -76,19 +77,20 @@ static unsigned char snap_proto_aarp[5] = SNAP_PROTO_AARP; static void at_input_packet(protocol_family_t protocol, mbuf_t m); -int pktsIn, pktsOut; - struct ifqueue atalkintrq; /* appletalk and aarp packet input queue */ short appletalk_inited = 0; +void atalk_load(void); +void atalk_unload(void); +extern lck_mtx_t *domain_proto_mtx; -void atalk_load() -{ - extern lck_mtx_t *domain_proto_mtx; +extern int pktsIn, pktsOut; +void atalk_load() +{ atp_init(); atp_link(); adspInited = 0; @@ -98,36 +100,37 @@ void atalk_load() this happens in adsp_open and is undone on ADSP_UNLINK */ lck_mtx_unlock(domain_proto_mtx); - proto_register_input(PF_APPLETALK, at_input_packet, NULL); + proto_register_input(PF_APPLETALK, at_input_packet, NULL, 0); lck_mtx_lock(domain_proto_mtx); } /* atalk_load */ /* Undo everything atalk_load() did. */ void atalk_unload() /* not currently used */ { - extern gbuf_t *scb_resource_m; - extern gbuf_t *atp_resource_m; - atp_unlink(); #ifdef NOT_YET - if (scb_resource_m) { - gbuf_freem(scb_resource_m); - scb_resource_m = 0; - scb_free_list = 0; - } - /* allocated in atp_trans_alloc() */ - if (atp_resource_m) { - gbuf_freem(atp_resource_m); - atp_resource_m = 0; - atp_trans_free_list = 0; + { + extern gbuf_t *scb_resource_m; + extern gbuf_t *atp_resource_m; + if (scb_resource_m) { + gbuf_freem(scb_resource_m); + scb_resource_m = 0; + scb_free_list = 0; + } + /* allocated in atp_trans_alloc() */ + if (atp_resource_m) { + gbuf_freem(atp_resource_m); + atp_resource_m = 0; + atp_trans_free_list = 0; + } } #endif appletalk_inited = 0; } /* atalk_unload */ -void appletalk_hack_start() +void appletalk_hack_start(void) { if (!appletalk_inited) { atalk_load(); @@ -299,7 +302,7 @@ at_input_packet( ifID->stats.rcv_bytes += m1->m_len; if (!MULTIPORT_MODE) - ddp_glean(m, ifID, src); + ddp_glean(m, ifID, (struct etalk_addr *)src); ddp_input(m, ifID); } else {