Lines Matching defs:buf
46 char *ax2asc(char *buf, const ax25_address *a)
51 for (n = 0, s = buf; n < 6; n++) {
67 if (*buf == '\0' || *buf == '-')
70 return buf;
156 const unsigned char *ax25_addr_parse(const unsigned char *buf, int len,
167 if (buf[6] & AX25_CBIT)
169 if (buf[13] & AX25_CBIT)
174 *dama = ~buf[13] & AX25_DAMA_FLAG;
178 memcpy(dest, buf + 0, AX25_ADDR_LEN);
180 memcpy(src, buf + 7, AX25_ADDR_LEN);
182 buf += 2 * AX25_ADDR_LEN;
188 while (!(buf[-1] & AX25_EBIT)) {
194 memcpy(&digi->calls[d], buf, AX25_ADDR_LEN);
197 if (buf[6] & AX25_HBIT) {
204 buf += AX25_ADDR_LEN;
209 return buf;
215 int ax25_addr_build(unsigned char *buf, const ax25_address *src,
221 memcpy(buf, dest, AX25_ADDR_LEN);
222 buf[6] &= ~(AX25_EBIT | AX25_CBIT);
223 buf[6] |= AX25_SSSID_SPARE;
225 if (flag == AX25_COMMAND) buf[6] |= AX25_CBIT;
227 buf += AX25_ADDR_LEN;
230 memcpy(buf, src, AX25_ADDR_LEN);
231 buf[6] &= ~(AX25_EBIT | AX25_CBIT);
232 buf[6] &= ~AX25_SSSID_SPARE;
235 buf[6] |= AX25_SSSID_SPARE;
237 buf[6] |= AX25_ESSID_SPARE;
239 if (flag == AX25_RESPONSE) buf[6] |= AX25_CBIT;
245 buf[6] |= AX25_EBIT;
249 buf += AX25_ADDR_LEN;
253 memcpy(buf, &d->calls[ct], AX25_ADDR_LEN);
256 buf[6] |= AX25_HBIT;
258 buf[6] &= ~AX25_HBIT;
260 buf[6] &= ~AX25_EBIT;
261 buf[6] |= AX25_SSSID_SPARE;
263 buf += AX25_ADDR_LEN;
268 buf[-1] |= AX25_EBIT;