Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /* $Id: lmgr.c,v 1.7.6.2 2001/09/23 22:24:50 kai Exp $
  2  *
  3  * Layermanagement module
  4  *
  5  * Author       Karsten Keil
  6  * Copyright    by Karsten Keil      <keil@isdn4linux.de>
  7  * 
  8  * This software may be used and distributed according to the terms
  9  * of the GNU General Public License, incorporated herein by reference.
 10  *
 11  */
 12 
 13 #include "hisax.h"
 14 
 15 static void
 16 error_handling_dchan(struct PStack *st, int Error)
 17 {
 18         switch (Error) {
 19                 case 'C':
 20                 case 'D':
 21                 case 'G':
 22                 case 'H':
 23                         st->l2.l2tei(st, MDL_ERROR | REQUEST, NULL);
 24                         break;
 25         }
 26 }
 27 
 28 static void
 29 hisax_manager(struct PStack *st, int pr, void *arg)
 30 {
 31         long Code;
 32 
 33         switch (pr) {
 34                 case (MDL_ERROR | INDICATION):
 35                         Code = (long) arg;
 36                         HiSax_putstatus(st->l1.hardware, "manager: MDL_ERROR",
 37                                 " %c %s", (char)Code, 
 38                                 test_bit(FLG_LAPD, &st->l2.flag) ?
 39                                 "D-channel" : "B-channel");
 40                         if (test_bit(FLG_LAPD, &st->l2.flag))
 41                                 error_handling_dchan(st, Code);
 42                         break;
 43         }
 44 }
 45 
 46 void
 47 setstack_manager(struct PStack *st)
 48 {
 49         st->ma.layer = hisax_manager;
 50 }
 51 
  This page was automatically generated by the LXR engine.