Lines Matching refs:v

93 	isdn_v110_stream *v;  in isdn_v110_open()  local
95 if ((v = kzalloc(sizeof(isdn_v110_stream), GFP_ATOMIC)) == NULL) in isdn_v110_open()
97 v->key = key; in isdn_v110_open()
98 v->nbits = 0; in isdn_v110_open()
100 v->nbits++; in isdn_v110_open()
102 v->nbytes = 8 / v->nbits; in isdn_v110_open()
103 v->decodelen = 0; in isdn_v110_open()
107 v->OnlineFrame = V110_OnMatrix_38400; in isdn_v110_open()
108 v->OfflineFrame = V110_OffMatrix_38400; in isdn_v110_open()
111 v->OnlineFrame = V110_OnMatrix_19200; in isdn_v110_open()
112 v->OfflineFrame = V110_OffMatrix_19200; in isdn_v110_open()
115 v->OnlineFrame = V110_OnMatrix_9600; in isdn_v110_open()
116 v->OfflineFrame = V110_OffMatrix_9600; in isdn_v110_open()
119 v->framelen = v->nbytes * 10; in isdn_v110_open()
120 v->SyncInit = 5; in isdn_v110_open()
121 v->introducer = 0; in isdn_v110_open()
122 v->dbit = 1; in isdn_v110_open()
123 v->b = 0; in isdn_v110_open()
124 v->skbres = hdrlen; in isdn_v110_open()
125 v->maxsize = maxsize - hdrlen; in isdn_v110_open()
126 if ((v->encodebuf = kmalloc(maxsize, GFP_ATOMIC)) == NULL) { in isdn_v110_open()
127 kfree(v); in isdn_v110_open()
130 return v; in isdn_v110_open()
135 isdn_v110_close(isdn_v110_stream *v) in isdn_v110_close() argument
137 if (v == NULL) in isdn_v110_close()
142 kfree(v->encodebuf); in isdn_v110_close()
143 kfree(v); in isdn_v110_close()
151 ValidHeaderBytes(isdn_v110_stream *v) in ValidHeaderBytes() argument
154 for (i = 0; (i < v->decodelen) && (i < v->nbytes); i++) in ValidHeaderBytes()
155 if ((v->decodebuf[i] & v->key) != 0) in ValidHeaderBytes()
164 SyncHeader(isdn_v110_stream *v) in SyncHeader() argument
166 unsigned char *rbuf = v->decodebuf; in SyncHeader()
167 int len = v->decodelen; in SyncHeader()
172 if ((*rbuf & v->key) == 0) /* erstes byte gefunden ? */ in SyncHeader()
175 memcpy(v->decodebuf, rbuf, len); in SyncHeader()
177 v->decodelen = len; in SyncHeader()
190 DecodeMatrix(isdn_v110_stream *v, unsigned char *m, int len, unsigned char *buf) in DecodeMatrix() argument
195 int introducer = v->introducer; in DecodeMatrix()
196 int dbit = v->dbit; in DecodeMatrix()
197 unsigned char b = v->b; in DecodeMatrix()
243 v->introducer = introducer; in DecodeMatrix()
244 v->dbit = dbit; in DecodeMatrix()
245 v->b = b; in DecodeMatrix()
255 isdn_v110_decode(isdn_v110_stream *v, struct sk_buff *skb) in isdn_v110_decode() argument
269 if (v == NULL) { in isdn_v110_decode()
275 if (v->decodelen == 0) /* cache empty? */ in isdn_v110_decode()
277 if ((*rbuf & v->key) == 0) in isdn_v110_decode()
284 memcpy(&(v->decodebuf[v->decodelen]), rbuf, len); in isdn_v110_decode()
285 v->decodelen += len; in isdn_v110_decode()
287 if (v->decodelen < v->nbytes) { /* got a new header ? */ in isdn_v110_decode()
291 if (ValidHeaderBytes(v) != v->nbytes) { /* is that a valid header? */ in isdn_v110_decode()
292 SyncHeader(v); /* no -> look for header */ in isdn_v110_decode()
295 len = (v->decodelen - (v->decodelen % (10 * v->nbytes))) / v->nbytes; in isdn_v110_decode()
303 for (j = 0; j < v->nbytes; j++) in isdn_v110_decode()
304 v110_buf[i] |= (v->decodebuf[(i * v->nbytes) + j] & v->key) << (8 - ((j + 1) * v->nbits)); in isdn_v110_decode()
305 v110_buf[i] = FlipBits(v110_buf[i], v->nbits); in isdn_v110_decode()
307 v->decodelen = (v->decodelen % (10 * v->nbytes)); in isdn_v110_decode()
308 memcpy(v->decodebuf, &(v->decodebuf[len * v->nbytes]), v->decodelen); in isdn_v110_decode()
310 skb_trim(skb, DecodeMatrix(v, v110_buf, len, skb->data)); in isdn_v110_decode()
422 isdn_v110_sync(isdn_v110_stream *v) in isdn_v110_sync() argument
426 if (v == NULL) { in isdn_v110_sync()
431 if ((skb = dev_alloc_skb(v->framelen + v->skbres))) { in isdn_v110_sync()
432 skb_reserve(skb, v->skbres); in isdn_v110_sync()
433 skb_put_data(skb, v->OfflineFrame, v->framelen); in isdn_v110_sync()
442 isdn_v110_idle(isdn_v110_stream *v) in isdn_v110_idle() argument
446 if (v == NULL) { in isdn_v110_idle()
451 if ((skb = dev_alloc_skb(v->framelen + v->skbres))) { in isdn_v110_idle()
452 skb_reserve(skb, v->skbres); in isdn_v110_idle()
453 skb_put_data(skb, v->OnlineFrame, v->framelen); in isdn_v110_idle()
459 isdn_v110_encode(isdn_v110_stream *v, struct sk_buff *skb) in isdn_v110_encode() argument
474 if (v == NULL) { in isdn_v110_encode()
486 v110buf = v->encodebuf; in isdn_v110_encode()
487 if ((nframes * 40) > v->maxsize) { in isdn_v110_encode()
488 size = v->maxsize; in isdn_v110_encode()
489 rlen = v->maxsize / 40; in isdn_v110_encode()
492 if (!(nskb = dev_alloc_skb(size + v->skbres + sizeof(int)))) { in isdn_v110_encode()
496 skb_reserve(nskb, v->skbres + sizeof(int)); in isdn_v110_encode()
498 skb_put_data(nskb, v->OnlineFrame, v->framelen); in isdn_v110_encode()
506 sval1 = 8 - v->nbits; in isdn_v110_encode()
507 sval2 = v->key << sval1; in isdn_v110_encode()
509 v110buf[i] = FlipBits(v110buf[i], v->nbits); in isdn_v110_encode()
510 for (j = 0; j < v->nbytes; j++) { in isdn_v110_encode()
512 *rbuf++ = ~v->key | (((v110buf[i] << (j * v->nbits)) & sval2) >> sval1); in isdn_v110_encode()
529 isdn_v110_stream *v = NULL; in isdn_v110_stat_callback() local
543 if (!(v = dev->v110[idx])) in isdn_v110_stat_callback()
546 for (i = 0; i * v->framelen < c->parm.length; i++) { in isdn_v110_stat_callback()
547 if (v->skbidle > 0) { in isdn_v110_stat_callback()
548 v->skbidle--; in isdn_v110_stat_callback()
551 if (v->skbuser > 0) in isdn_v110_stat_callback()
552 v->skbuser--; in isdn_v110_stat_callback()
556 for (i = v->skbuser + v->skbidle; i < 2; i++) { in isdn_v110_stat_callback()
558 if (v->SyncInit > 0) in isdn_v110_stat_callback()
559 skb = isdn_v110_sync(v); in isdn_v110_stat_callback()
561 skb = isdn_v110_idle(v); in isdn_v110_stat_callback()
567 if (v->SyncInit) in isdn_v110_stat_callback()
568 v->SyncInit--; in isdn_v110_stat_callback()
569 v->skbidle++; in isdn_v110_stat_callback()
605 if ((v = dev->v110[idx])) { in isdn_v110_stat_callback()
606 while (v->SyncInit) { in isdn_v110_stat_callback()
607 struct sk_buff *skb = isdn_v110_sync(v); in isdn_v110_stat_callback()
613 v->SyncInit--; in isdn_v110_stat_callback()
614 v->skbidle++; in isdn_v110_stat_callback()