• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/bsd/netat/

Lines Matching defs:gref

90 int gref_close(gref_t *gref);
114 void gref_wput(gref, m)
115 gref_t *gref;
118 switch (gref->proto) {
120 ddp_putmsg(gref, m); break;
122 elap_wput(gref, m); break;
124 atp_wput(gref, m); break;
126 asp_wput(gref, m); break;
129 aurp_wput(gref, m); break;
132 adsp_wput(gref, m); break;
140 atalk_putnext(gref, m);
156 gref_t *gref;
180 if ((*err = gref_alloc(&gref)) != 0) {
186 gref->proto = proto;
187 gref->pid = proc_pid((struct proc *)proc);
190 switch (gref->proto) {
196 *err = atp_open(gref, 1); break;
198 *err = asp_open(gref); break;
201 *err = aurp_open(gref); break;
204 *err = adsp_open(gref); break;
211 gref->proto, *err);
213 gref->proto = ATPROTO_NONE;
215 if (*err || (*err = atalk_openref(gref, &fd, proc))) {
219 (void)gref_close(gref);
237 gref_t *gref;
239 if ((*err = atalk_getref(0, fd, &gref, proc, 1)) == 0) {
240 switch (gref->proto) {
242 rc = ASPgetmsg(gref, ctlptr, datptr, NULL, flags, err);
269 gref_t *gref;
271 if ((*err = atalk_getref(0, fd, &gref, proc, 1)) == 0) {
272 switch (gref->proto) {
274 rc = ASPputmsg(gref, ctlptr, datptr, NULL, flags, err); break;
290 gref_t *gref;
292 if ((err = atalk_closeref(fg, &gref)) == 0) {
294 (void)gref_close(gref);
308 gref_t *gref;
313 if ((err = atalk_getref_locked(fp, 0, &gref, p, 1)) != 0)
322 KERNEL_DEBUG(DBG_ADSP_ATRW, 0, gref, len, gref->rdhead, 0);
323 while ((gref->errno == 0) && ((mhead = gref->rdhead) == 0)) {
324 gref->sevents |= POLLMSG;
325 err = msleep(&gref->event, atalk_mutex, PSOCK | PCATCH, "AT read", 0);
326 gref->sevents &= ~POLLMSG;
329 KERNEL_DEBUG(DBG_ADSP_ATRW, 1, gref, gref->rdhead, mhead, gbuf_next(mhead));
332 if (gref->errno)
334 if ((gref->rdhead = gbuf_next(mhead)) == 0)
335 gref->rdtail = 0;
337 KERNEL_DEBUG(DBG_ADSP_ATRW, 2, gref, gref->rdhead, mhead, gbuf_next(mhead));
341 // simple_lock(&gref->lock);
365 KERNEL_DEBUG(DBG_ADSP_ATRW, 4, m, gbuf_len(m), mprev, gref->rdhead);
370 if (gref->rdhead == 0)
371 gref->rdtail = m;
372 gbuf_next(m) = gref->rdhead;
373 gref->rdhead = m;
378 // simple_unlock(&gref->lock);
380 if (gref->writeable) {
381 while (!(*gref->writeable)(gref)) {
383 gref->sevents |= POLLSYNC;
384 err = msleep(&gref->event, atalk_mutex, PSOCK | PCATCH, "AT write", 0);
385 gref->sevents &= ~POLLSYNC;
409 gref_wput(gref, m);
447 int at_ioctl(gref_t *gref, u_long cmd, caddr_t arg, int fromKernel)
526 gref_wput(gref, m);
529 while ((m = gref->ichead) == 0) {
530 gref->sevents |= POLLPRI;
532 kprintf("sleep gref = 0x%x\n", (unsigned)gref);
534 err = msleep(&gref->iocevent, atalk_mutex, PSOCK | PCATCH, "AT ioctl", 0);
535 gref->sevents &= ~POLLPRI;
548 gref->ichead = gbuf_next(m);
552 kprintf("at_ioctl: woke up from ioc sleep gref = 0x%x\n",
553 (unsigned)gref);
613 gref_t *gref;
617 if ((err = atalk_getref_locked(fp, 0, &gref, 0, 0)) != 0) {
623 err = at_ioctl(gref, cmd, arg, 0);
637 gref_t *gref;
647 err = atalk_getref_locked(fp, 0, &gref, 0, 0);
656 if (gref->rdhead || (gref->readable && (*gref->readable)(gref)))
659 gref->sevents |= POLLIN;
660 selrecord(proc, &gref->si, wql);
664 if (gref->writeable) {
665 if ((*gref->writeable)(gref))
668 gref->sevents |= POLLOUT;
669 selrecord(proc, &gref->si, wql);
687 void atalk_putnext(gref, m)
688 gref_t *gref;
699 if (gref->ichead)
700 gbuf_next(gref->ichead) = m;
702 gref->ichead = m;
703 if (gref->sevents & POLLPRI) {
705 kprintf("wakeup gref = 0x%x\n", (unsigned)gref);
707 wakeup(&gref->iocevent);
716 if (gref->errno)
719 if (gref->rdhead) {
720 gbuf_next(gref->rdtail) = m;
721 gref->rdtail = m;
723 gref->rdhead = m;
724 if (gref->sevents & POLLMSG) {
725 gref->sevents &= ~POLLMSG;
726 wakeup(&gref->event);
728 if (gref->sevents & POLLIN) {
729 gref->sevents &= ~POLLIN;
730 selwakeup(&gref->si);
732 gref->rdtail = m;
738 void atalk_enablew(gref)
739 gref_t *gref;
741 if (gref->sevents & POLLSYNC)
742 wakeup(&gref->event);
745 void atalk_flush(gref)
746 gref_t *gref;
749 if (gref->rdhead) {
750 gbuf_freel(gref->rdhead);
751 gref->rdhead = 0;
753 if (gref->ichead) {
754 gbuf_freel(gref->ichead);
755 gref->ichead = 0;
763 void atalk_notify(gref, errno)
764 register gref_t *gref;
768 if (gref->atpcb_socket) {
773 gref->atpcb_socket->so_error = errno;
774 sorwakeup(gref->atpcb_socket);
775 sowwakeup(gref->atpcb_socket);
778 if (gref->errno == 0) {
779 gref->errno = errno;
781 if (gref->rdhead) {
782 gbuf_freel(gref->rdhead);
783 gref->rdhead = 0;
786 if (gref->sevents & POLLMSG) {
787 gref->sevents &= ~POLLMSG;
788 wakeup(&gref->event);
791 if (gref->sevents & POLLIN) {
792 gref->sevents &= ~POLLIN;
793 selwakeup(&gref->si);
799 void atalk_notify_sel(gref)
800 gref_t *gref;
803 if (gref->sevents & POLLIN) {
804 gref->sevents &= ~POLLIN;
805 selwakeup(&gref->si);
809 int atalk_peek(gref, event)
810 gref_t *gref;
815 if (gref->rdhead) {
816 *event = *gbuf_rptr(gref->rdhead);
868 gref_t *gref, *gref_array;
888 gref = gref_free_list;
889 gref_free_list = gref->atpcb_next;
890 ATEVENTINIT(gref->event);
891 ATEVENTINIT(gref->iocevent);
894 gref->atpcb_socket = (struct socket *)NULL;
896 *grefp = gref;
901 int gref_close(gref_t *gref)
905 switch (gref->proto) {
911 rc = atp_close(gref, 1); break;
913 rc = asp_close(gref); break;
916 rc = aurp_close(gref); break;
920 rc = adsp_close(gref); break;
927 atalk_flush(gref);
928 selthreadclear(&gref->si);
931 bzero((char *)gref, sizeof(gref_t));
932 gref->atpcb_next = gref_free_list;
933 gref_free_list = gref;
1294 void ioc_ack(errno, m, gref)
1297 register gref_t *gref;
1301 /*kprintf("ioc_ack: m=%x gref=%x errno=%d\n", m, gref, errno);*/
1315 atalk_putnext(gref, m);