Lines Matching refs:facilities
239 static int rose_parse_national(unsigned char *p, struct rose_facilities_struct *facilities, int len)
259 facilities->rand = ((p[1] << 8) & 0xFF00) + ((p[2] << 0) & 0x00FF);
283 memcpy(&facilities->source_digis[0], p + 2, AX25_ADDR_LEN);
284 facilities->source_ndigis = 1;
291 memcpy(&facilities->dest_digis[0], p + 2, AX25_ADDR_LEN);
292 facilities->dest_ndigis = 1;
298 memcpy(&facilities->fail_call, p + 2, AX25_ADDR_LEN);
303 memcpy(&facilities->fail_addr, p + 3, ROSE_ADDR_LEN);
309 facilities->source_ndigis = 0;
310 facilities->dest_ndigis = 0;
313 if (facilities->dest_ndigis >= ROSE_MAX_DIGIS)
315 memcpy(&facilities->dest_digis[facilities->dest_ndigis++], pt, AX25_ADDR_LEN);
317 if (facilities->source_ndigis >= ROSE_MAX_DIGIS)
319 memcpy(&facilities->source_digis[facilities->source_ndigis++], pt, AX25_ADDR_LEN);
333 static int rose_parse_ccitt(unsigned char *p, struct rose_facilities_struct *facilities, int len)
374 memcpy(&facilities->source_addr, p + 7, ROSE_ADDR_LEN);
377 asc2ax(&facilities->source_call, callsign);
380 memcpy(&facilities->dest_addr, p + 7, ROSE_ADDR_LEN);
383 asc2ax(&facilities->dest_call, callsign);
396 struct rose_facilities_struct *facilities)
411 len = rose_parse_national(p + 1, facilities, facilities_len - 1);
415 len = rose_parse_ccitt(p + 1, facilities, facilities_len - 1);
419 printk(KERN_DEBUG "ROSE: rose_parse_facilities - unknown facilities family %02X\n", *p);
453 /* Sent before older facilities */