taglinefilesource code
sl140drivers/net/slip.csl_initialize(struct slip *sl, struct device *dev)
sl142drivers/net/slip.csl->inuse    = 0;
sl143drivers/net/slip.csl->sending    = 0;
sl144drivers/net/slip.csl->escape    = 0;
sl145drivers/net/slip.csl->flags    = 0;
sl147drivers/net/slip.csl->mode    = SL_MODE_ADAPTIVE;  /* automatic CSLIP recognition */
sl150drivers/net/slip.csl->mode    = SL_MODE_CSLIP | SL_MODE_ADAPTIVE;  /* Default */
sl152drivers/net/slip.csl->mode    = SL_MODE_SLIP;    /* Default for non compressors */
sl156drivers/net/slip.csl->line    = dev->base_addr;
sl157drivers/net/slip.csl->tty    = NULL;
sl158drivers/net/slip.csl->dev    = dev;
sl159drivers/net/slip.csl->slcomp    = NULL;
sl162drivers/net/slip.csl->rbuff    = NULL;
sl163drivers/net/slip.csl->xbuff    = NULL;
sl164drivers/net/slip.csl->cbuff    = NULL;
sl166drivers/net/slip.csl->rhead    = NULL;
sl167drivers/net/slip.csl->rend    = NULL;
sl179drivers/net/slip.cstruct slip *sl;
sl184drivers/net/slip.csl = &sl_ctrl[i];
sl185drivers/net/slip.cif (sl->tty == tty) return(sl);
sl196drivers/net/slip.cstruct slip *sl;
sl202drivers/net/slip.csl = &sl_ctrl[i];
sl203drivers/net/slip.cif (sl->inuse == 0) {
sl204drivers/net/slip.csl->inuse = 1;
sl205drivers/net/slip.csl->tty = NULL;
sl207drivers/net/slip.creturn(sl);
sl217drivers/net/slip.csl_free(struct slip *sl)
sl221drivers/net/slip.cif (sl->inuse) {
sl224drivers/net/slip.csl->inuse = 0;
sl225drivers/net/slip.csl->tty = NULL;
sl234drivers/net/slip.cstatic void sl_changedmtu(struct slip *sl)
sl236drivers/net/slip.cstruct device *dev=sl->dev;
sl239drivers/net/slip.cint omtu=sl->mtu;
sl241drivers/net/slip.csl->mtu=dev->mtu;
sl260drivers/net/slip.csl->mtu=omtu;
sl273drivers/net/slip.ctf=(unsigned char *)sl->dev->mem_start;
sl274drivers/net/slip.csl->dev->mem_start=(unsigned long)tb;
sl275drivers/net/slip.csl->dev->mem_end=(unsigned long) (sl->dev->mem_start + l);
sl276drivers/net/slip.crf=(unsigned char *)sl->dev->rmem_start;
sl277drivers/net/slip.csl->dev->rmem_start=(unsigned long)rb;
sl278drivers/net/slip.csl->dev->rmem_end=(unsigned long) (sl->dev->rmem_start + l);
sl280drivers/net/slip.csl->xbuff = (unsigned char *) sl->dev->mem_start;
sl281drivers/net/slip.csl->rbuff = (unsigned char *) sl->dev->rmem_start;
sl282drivers/net/slip.csl->rend  = (unsigned char *) sl->dev->rmem_end;
sl283drivers/net/slip.csl->rhead = sl->rbuff;
sl285drivers/net/slip.ccf=sl->cbuff;
sl286drivers/net/slip.csl->cbuff=cb;
sl288drivers/net/slip.csl->escape=0;
sl289drivers/net/slip.csl->sending=0;
sl290drivers/net/slip.csl->rcount=0;
sl305drivers/net/slip.csl_enqueue(struct slip *sl, unsigned char c)
sl311drivers/net/slip.cif (sl->rhead < sl->rend) {
sl312drivers/net/slip.c*sl->rhead = c;
sl313drivers/net/slip.csl->rhead++;
sl314drivers/net/slip.csl->rcount++;
sl315drivers/net/slip.c} else sl->roverrun++;
sl321drivers/net/slip.csl_dequeue(struct slip *sl, int i)
sl327drivers/net/slip.cif (sl->rhead > sl->rbuff) {
sl328drivers/net/slip.csl->rhead -= i;
sl329drivers/net/slip.csl->rcount -= i;
sl337drivers/net/slip.csl_lock(struct slip *sl)
sl343drivers/net/slip.csl->sending = 1;
sl344drivers/net/slip.csl->dev->tbusy = 1;
sl351drivers/net/slip.csl_unlock(struct slip *sl)
sl357drivers/net/slip.csl->sending = 0;
sl358drivers/net/slip.csl->dev->tbusy = 0;
sl365drivers/net/slip.csl_bump(struct slip *sl)
sl372drivers/net/slip.ccount = sl->rcount;
sl374drivers/net/slip.cif (sl->mode & (SL_MODE_ADAPTIVE | SL_MODE_CSLIP)) {
sl375drivers/net/slip.cif ((c = sl->rbuff[0]) & SL_TYPE_COMPRESSED_TCP) {
sl378drivers/net/slip.cif (!(sl->mode & SL_MODE_CSLIP)) {
sl386drivers/net/slip.cif ((sl->rhead + 80) < sl->rend) {
sl387drivers/net/slip.csl->rhead += 80;
sl388drivers/net/slip.csl->rcount += 80;
sl391drivers/net/slip.csl->roverrun++;
sl398drivers/net/slip.ccount = slhc_uncompress(sl->slcomp, sl->rbuff, count);
sl400drivers/net/slip.csl->errors++;
sl404drivers/net/slip.cif (!(sl->mode & SL_MODE_CSLIP)) {
sl406drivers/net/slip.csl->mode |= SL_MODE_CSLIP;
sl409drivers/net/slip.csl->rbuff[0] &= 0x4f;
sl410drivers/net/slip.cif (slhc_remember(sl->slcomp, sl->rbuff, count) <= 0) {
sl411drivers/net/slip.csl->errors++;
sl417drivers/net/slip.cDPRINTF((DBG_SLIP, "<< \"%s\" recv:\r\n", sl->dev->name));
sl418drivers/net/slip.cip_dump(sl->rbuff, sl->rcount);
sl423drivers/net/slip.csl->rcount, sl->rbuff));
sl425drivers/net/slip.cdone = dev_rint(sl->rbuff, count, 0, sl->dev);
sl429drivers/net/slip.csl->rpacket++;
sl435drivers/net/slip.csl_next(struct slip *sl)
sl437drivers/net/slip.cDPRINTF((DBG_SLIP, "SLIP: sl_next(0x%X) called!\n", sl));
sl438drivers/net/slip.csl_unlock(sl);
sl439drivers/net/slip.cdev_tint(sl->dev);
sl445drivers/net/slip.csl_encaps(struct slip *sl, unsigned char *icp, int len)
sl451drivers/net/slip.cDPRINTF((DBG_SLIP, ">> \"%s\" sent:\r\n", sl->dev->name));
sl455drivers/net/slip.cif(sl->mtu != sl->dev->mtu)  /* Someone has been ifconfigging */
sl456drivers/net/slip.csl_changedmtu(sl);
sl458drivers/net/slip.cif(len>sl->mtu)    /* Sigh, shouldn't occur BUT ... */
sl460drivers/net/slip.clen=sl->mtu;
sl466drivers/net/slip.cif(sl->mode & SL_MODE_CSLIP)
sl467drivers/net/slip.clen = slhc_compress(sl->slcomp, p, len, sl->cbuff, &p, 1);
sl469drivers/net/slip.cif(sl->mode & SL_MODE_SLIP6)
sl470drivers/net/slip.ccount=slip_esc6(p, (unsigned char *)sl->xbuff,len);
sl472drivers/net/slip.ccount=slip_esc(p, (unsigned char *)sl->xbuff,len);
sl473drivers/net/slip.csl->spacket++;
sl474drivers/net/slip.cbp = sl->xbuff;
sl478drivers/net/slip.cif (tty_write_data(sl->tty, (char *) bp, count,
sl479drivers/net/slip.c(void (*)(void *))sl_next, (void *) sl) == 0) {
sl481drivers/net/slip.csl_next(sl);
sl506drivers/net/slip.cstruct slip *sl;
sl510drivers/net/slip.csl = &sl_ctrl[dev->base_addr];
sl511drivers/net/slip.ctty = sl->tty;
sl513drivers/net/slip.cdev->name, skb, sl->sending));
sl520drivers/net/slip.cif (sl->sending) {
sl522drivers/net/slip.csl->sbusy++;
sl530drivers/net/slip.cif(sl->mode & SL_MODE_AX25)
sl542drivers/net/slip.csl_lock(sl);
sl546drivers/net/slip.cif(!(sl->mode&SL_MODE_AX25))
sl559drivers/net/slip.csl_encaps(sl, skb->data, size);
sl572drivers/net/slip.cstruct slip *sl=&sl_ctrl[dev->base_addr];
sl573drivers/net/slip.cif(sl->mode&SL_MODE_AX25)
sl586drivers/net/slip.cstruct slip *sl=&sl_ctrl[dev->base_addr];
sl587drivers/net/slip.cif((sl->mode&SL_MODE_AX25) && type!=htons(ETH_P_AX25))
sl601drivers/net/slip.cstruct slip *sl=&sl_ctrl[dev->base_addr];
sl603drivers/net/slip.cif(sl->mode&SL_MODE_AX25)
sl614drivers/net/slip.cstruct slip *sl;
sl618drivers/net/slip.csl = &sl_ctrl[dev->base_addr];
sl619drivers/net/slip.cif (sl->tty == NULL) {
sl620drivers/net/slip.cDPRINTF((DBG_SLIP, "SLIP: channel %d not connected!\n", sl->line));
sl623drivers/net/slip.csl->dev = dev;
sl648drivers/net/slip.csl->mtu    = dev->mtu;
sl649drivers/net/slip.csl->dev->mem_start  = (unsigned long) p;
sl650drivers/net/slip.csl->dev->mem_end  = (unsigned long) (sl->dev->mem_start + l);
sl657drivers/net/slip.csl->dev->rmem_start  = (unsigned long) p;
sl658drivers/net/slip.csl->dev->rmem_end  = (unsigned long) (sl->dev->rmem_start + l);
sl660drivers/net/slip.csl->xbuff    = (unsigned char *) sl->dev->mem_start;
sl661drivers/net/slip.csl->rbuff    = (unsigned char *) sl->dev->rmem_start;
sl662drivers/net/slip.csl->rend    = (unsigned char *) sl->dev->rmem_end;
sl663drivers/net/slip.csl->rhead    = sl->rbuff;
sl665drivers/net/slip.csl->escape    = 0;
sl666drivers/net/slip.csl->sending    = 0;
sl667drivers/net/slip.csl->rcount    = 0;
sl671drivers/net/slip.ckfree((unsigned char *)sl->dev->mem_start);
sl675drivers/net/slip.csl->cbuff    = p;
sl677drivers/net/slip.csl->slcomp = slhc_init(16, 16);
sl678drivers/net/slip.cif (sl->slcomp == NULL) {
sl679drivers/net/slip.ckfree((unsigned char *)sl->dev->mem_start);
sl680drivers/net/slip.ckfree((unsigned char *)sl->dev->rmem_start);
sl681drivers/net/slip.ckfree(sl->cbuff);
sl690drivers/net/slip.cDPRINTF((DBG_SLIP, "SLIP: channel %d opened.\n", sl->line));
sl699drivers/net/slip.cstruct slip *sl;
sl701drivers/net/slip.csl = &sl_ctrl[dev->base_addr];
sl702drivers/net/slip.cif (sl->tty == NULL) {
sl703drivers/net/slip.cDPRINTF((DBG_SLIP, "SLIP: channel %d not connected!\n", sl->line));
sl706drivers/net/slip.csl_free(sl);
sl709drivers/net/slip.ckfree(sl->rbuff);
sl710drivers/net/slip.ckfree(sl->xbuff);
sl711drivers/net/slip.ckfree(sl->cbuff);
sl712drivers/net/slip.cslhc_free(sl->slcomp);
sl714drivers/net/slip.csl_initialize(sl, dev);
sl716drivers/net/slip.cDPRINTF((DBG_SLIP, "SLIP: channel %d closed.\n", sl->line));
sl732drivers/net/slip.cstruct slip *sl;
sl736drivers/net/slip.cif ((sl = sl_find(tty)) == NULL) return;  /* not connected */
sl738drivers/net/slip.cif(sl->mtu!=sl->dev->mtu)  /* Argh! mtu change time! - costs us the packet part received at the change */
sl739drivers/net/slip.csl_changedmtu(sl);
sl752drivers/net/slip.cif(sl->mode & SL_MODE_SLIP6)
sl753drivers/net/slip.cslip_unesc6(sl,buff,count,error);
sl755drivers/net/slip.cslip_unesc(sl,buff,count,error);
sl771drivers/net/slip.cstruct slip *sl;
sl774drivers/net/slip.cif ((sl = sl_find(tty)) != NULL) {
sl776drivers/net/slip.ctty->line, sl->dev->name));
sl781drivers/net/slip.cif ((sl = sl_alloc()) == NULL) {
sl786drivers/net/slip.csl->tty = tty;
sl791drivers/net/slip.c(void) sl_open(sl->dev);
sl793drivers/net/slip.ctty->line, sl->dev->name));
sl796drivers/net/slip.creturn(sl->line);
sl804drivers/net/slip.cstruct slip *sl;
sl808drivers/net/slip.csl = &sl_ctrl[dev->base_addr];
sl809drivers/net/slip.cif (! sl)
sl814drivers/net/slip.cstats.rx_packets = sl->rpacket;
sl815drivers/net/slip.cstats.rx_over_errors = sl->roverrun;
sl816drivers/net/slip.cstats.tx_packets = sl->spacket;
sl817drivers/net/slip.cstats.tx_dropped = sl->sbusy;
sl818drivers/net/slip.cstats.rx_errors = sl->errors;
sl820drivers/net/slip.ccomp = sl->slcomp;
sl840drivers/net/slip.cstruct slip *sl;
sl843drivers/net/slip.cif ((sl = sl_find(tty)) == NULL) {
sl848drivers/net/slip.c(void) dev_close(sl->dev);
sl850drivers/net/slip.ctty->line, sl->dev->name));
sl898drivers/net/slip.cslip_unesc(struct slip *sl, unsigned char *s, int count, int error)
sl905drivers/net/slip.csl->flags |= SLF_ESCAPE;
sl908drivers/net/slip.cif (sl->flags & SLF_ESCAPE)
sl909drivers/net/slip.csl_enqueue(sl, ESC);
sl911drivers/net/slip.csl_enqueue(sl, *s);
sl912drivers/net/slip.csl->flags &= ~SLF_ESCAPE;
sl915drivers/net/slip.cif (sl->flags & SLF_ESCAPE)
sl916drivers/net/slip.csl_enqueue(sl, END);
sl918drivers/net/slip.csl_enqueue(sl, *s);
sl919drivers/net/slip.csl->flags &= ~SLF_ESCAPE;
sl922drivers/net/slip.cif (sl->rcount > 2) 
sl923drivers/net/slip.csl_bump(sl);
sl924drivers/net/slip.csl_dequeue(sl, sl->rcount);
sl925drivers/net/slip.csl->rcount = 0;
sl926drivers/net/slip.csl->flags &= ~(SLF_ESCAPE | SLF_ERROR);
sl929drivers/net/slip.csl_enqueue(sl, *s);
sl930drivers/net/slip.csl->flags &= ~SLF_ESCAPE;
sl934drivers/net/slip.csl->flags |= SLF_ERROR;
sl985drivers/net/slip.cslip_unesc6(struct slip *sl, unsigned char *s, int count, int error)
sl992drivers/net/slip.cif (sl->rcount > 8) {  /* XXX must be 2 for compressed slip */
sl995drivers/net/slip.csl->rbuff[0],
sl996drivers/net/slip.csl->rbuff[1],
sl997drivers/net/slip.csl->rbuff[2],
sl998drivers/net/slip.csl->rbuff[3]
sl1001drivers/net/slip.csl_bump(sl);
sl1003drivers/net/slip.csl_dequeue(sl, sl->rcount);
sl1004drivers/net/slip.csl->rcount = 0;
sl1005drivers/net/slip.csl->flags &= ~(SLF_ESCAPE | SLF_ERROR); /* SLF_ESCAPE not used */
sl1006drivers/net/slip.csl->xbits = 0;
sl1008drivers/net/slip.csl->xdata = (sl->xdata << 6) | ((*s - 0x30) & 0x3F);
sl1009drivers/net/slip.csl->xbits += 6;
sl1010drivers/net/slip.cif (sl->xbits >= 8) {
sl1011drivers/net/slip.csl->xbits -= 8;
sl1012drivers/net/slip.cc = (unsigned char)(sl->xdata >> sl->xbits);
sl1013drivers/net/slip.csl_enqueue(sl, c);
sl1019drivers/net/slip.csl->flags |= SLF_ERROR;
sl1046drivers/net/slip.cstruct slip *sl;
sl1050drivers/net/slip.cif ((sl = sl_find(tty)) == NULL) {
sl1061drivers/net/slip.cmemcpy_tofs(arg, sl->dev->name, strlen(sl->dev->name) + 1);
sl1065drivers/net/slip.cput_fs_long(sl->mode,(long *)arg);
sl1069drivers/net/slip.csl->mode=get_fs_long((long *)arg);
sl1071drivers/net/slip.cif(sl->mode & SL_MODE_AX25)
sl1073drivers/net/slip.csl->dev->addr_len=7;  /* sizeof an AX.25 addr */
sl1074drivers/net/slip.csl->dev->hard_header_len=17;  /* We don't do digipeaters */
sl1075drivers/net/slip.csl->dev->type=3;    /* AF_AX25 not an AF_INET device */
sl1079drivers/net/slip.csl->dev->addr_len=0;  /* No mac addr in slip mode */
sl1080drivers/net/slip.csl->dev->hard_header_len=0;
sl1081drivers/net/slip.csl->dev->type=0;
sl1087drivers/net/slip.creturn sl_set_mac_address(sl->dev,arg);
sl1100drivers/net/slip.cstruct slip *sl;
sl1107drivers/net/slip.csl = &sl_ctrl[dev->base_addr];
sl1133drivers/net/slip.csl_initialize(sl, dev);
sl1136drivers/net/slip.csl->rcount    = 0;      /* SLIP receiver count  */
sl1137drivers/net/slip.csl->rpacket    = 0;      /* #frames received  */
sl1138drivers/net/slip.csl->roverrun    = 0;      /* "overrun" counter  */
sl1139drivers/net/slip.csl->spacket    = 0;      /* #frames sent out  */
sl1140drivers/net/slip.csl->sbusy    = 0;      /* "xmit busy" counter  */
sl1141drivers/net/slip.csl->errors    = 0;      /* not used at present  */
sl79drivers/net/slip.hextern void  slip_unesc(struct slip *sl, unsigned char *s, int count, int error);
sl80drivers/net/slip.hextern void   slip_unesc6(struct slip *sl, unsigned char *s, int count, int error);
sl628drivers/scsi/ultrastor.cstruct scatterlist *sl;
sl632drivers/scsi/ultrastor.csl = (struct scatterlist *) SCpnt->request_buffer;
sl635drivers/scsi/ultrastor.cmscp->sglist[i].address = (unsigned int)sl[i].address;
sl636drivers/scsi/ultrastor.cmscp->sglist[i].num_bytes = sl[i].length;
sl637drivers/scsi/ultrastor.ctransfer_length += sl[i].length;