Lines Matching refs:async
59 async_Init(struct async *async) in async_Init() argument
61 async_Setup(async); in async_Init()
62 memset(async->cfg.EscMap, '\0', sizeof async->cfg.EscMap); in async_Init()
66 async_Setup(struct async *async) in async_Setup() argument
68 async->mode = MODE_HUNT; in async_Setup()
69 async->length = 0; in async_Setup()
70 async->my_accmap = async->his_accmap = 0xffffffff; in async_Setup()
74 async_SetLinkParams(struct async *async, u_int32_t mymap, u_int32_t hismap) in async_SetLinkParams() argument
76 async->my_accmap = mymap; in async_SetLinkParams()
77 async->his_accmap = hismap | mymap; in async_SetLinkParams()
84 async_Encode(struct async *async, u_char **cp, u_char c, int proto) in async_Encode() argument
89 if ((c < 0x20 && (proto == PROTO_LCP || (async->his_accmap & (1 << c)))) in async_Encode()
94 if (async->cfg.EscMap[32] && async->cfg.EscMap[c >> 3] & (1 << (c & 7))) { in async_Encode()
119 cp = p->async.xbuff; in async_LayerPush()
126 async_Encode(&p->async, &cp, *sp++, *proto); in async_LayerPush()
136 cnt = cp - p->async.xbuff; in async_LayerPush()
139 memcpy(MBUF_CTOP(bp), p->async.xbuff, cnt); in async_LayerPush()
147 async_Decode(struct async *async, u_char c) in async_Decode() argument
151 if ((async->mode & MODE_HUNT) && c != HDLC_SYN) in async_Decode()
156 async->mode &= ~MODE_HUNT; in async_Decode()
157 if (async->length) { /* packet is ready. */ in async_Decode()
158 bp = m_get(async->length, MB_ASYNCIN); in async_Decode()
159 mbuf_Write(bp, async->hbuff, async->length); in async_Decode()
160 async->length = 0; in async_Decode()
165 if (!(async->mode & MODE_ESC)) { in async_Decode()
166 async->mode |= MODE_ESC; in async_Decode()
171 if (async->length >= HDLCSIZE) { in async_Decode()
174 async->length); in async_Decode()
175 async->length = 0; in async_Decode()
176 async->mode = MODE_HUNT; in async_Decode()
179 if (async->mode & MODE_ESC) { in async_Decode()
181 async->mode &= ~MODE_ESC; in async_Decode()
183 async->hbuff[async->length++] = c; in async_Decode()
209 *last = async_Decode(&p->async, *ch++); in async_LayerPull()