| 556 if (!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10))) |
556 if (!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10))) |
| 557 return 0; |
557 return 0; |
| 558 |
558 |
| 559 newpacket->lock = 1; |
559 newpacket->lock = 1; |
| 560 |
560 |
| |
561 aim_putsnac(newpacket->data, family, subtype, 0x0000, 0x00000000); |
| |
562 |
| |
563 aim_tx_enqueue(sess, newpacket); |
| |
564 |
| |
565 return sess->snac_nextid; |
| |
566 } |
| |
567 |
| |
568 faim_internal unsigned long aim_genericreq_n_snacid(struct aim_session_t *sess, |
| |
569 struct aim_conn_t *conn, |
| |
570 unsigned short family, |
| |
571 unsigned short subtype) |
| |
572 { |
| |
573 struct command_tx_struct *newpacket; |
| |
574 |
| |
575 if (!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10))) |
| |
576 return 0; |
| |
577 |
| |
578 newpacket->lock = 1; |
| |
579 |
| 561 aim_putsnac(newpacket->data, family, subtype, 0x0000, sess->snac_nextid); |
580 aim_putsnac(newpacket->data, family, subtype, 0x0000, sess->snac_nextid); |
| 562 |
|
| 563 aim_cachesnac(sess, family, subtype, 0x0000, NULL, 0); |
581 aim_cachesnac(sess, family, subtype, 0x0000, NULL, 0); |
| 564 |
582 |
| 565 aim_tx_enqueue(sess, newpacket); |
583 aim_tx_enqueue(sess, newpacket); |
| 566 return sess->snac_nextid; |
584 |
| |
585 return sess->snac_nextid++; |
| 567 } |
586 } |
| 568 |
587 |
| 569 /* |
588 /* |
| 570 * |
589 * |
| 571 * |
590 * |
| 585 if (!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10+sizeof(u_long)))) |
604 if (!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10+sizeof(u_long)))) |
| 586 return -1; |
605 return -1; |
| 587 |
606 |
| 588 newpacket->lock = 1; |
607 newpacket->lock = 1; |
| 589 |
608 |
| 590 aim_putsnac(newpacket->data, family, subtype, 0x0000, sess->snac_nextid); |
609 aim_putsnac(newpacket->data, family, subtype, 0x0000, 0x00000000); |
| 591 aim_cachesnac(sess, family, subtype, 0x0000, NULL, 0); |
|
| 592 |
610 |
| 593 /* copy in data */ |
611 /* copy in data */ |
| 594 newlong = htonl(*longdata); |
612 newlong = htonl(*longdata); |
| 595 memcpy(&(newpacket->data[10]), &newlong, sizeof(u_long)); |
613 memcpy(&(newpacket->data[10]), &newlong, sizeof(u_long)); |
| 596 |
614 |
| 597 aim_tx_enqueue(sess, newpacket); |
615 aim_tx_enqueue(sess, newpacket); |
| |
616 |
| 598 return sess->snac_nextid; |
617 return sess->snac_nextid; |
| 599 } |
618 } |
| 600 |
619 |
| 601 faim_internal unsigned long aim_genericreq_s(struct aim_session_t *sess, |
620 faim_internal unsigned long aim_genericreq_s(struct aim_session_t *sess, |
| 602 struct aim_conn_t *conn, |
621 struct aim_conn_t *conn, |
| 613 if (!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10+sizeof(u_short)))) |
632 if (!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10+sizeof(u_short)))) |
| 614 return -1; |
633 return -1; |
| 615 |
634 |
| 616 newpacket->lock = 1; |
635 newpacket->lock = 1; |
| 617 |
636 |
| 618 aim_putsnac(newpacket->data, family, subtype, 0x0000, sess->snac_nextid); |
637 aim_putsnac(newpacket->data, family, subtype, 0x0000, 0x00000000); |
| 619 aim_cachesnac(sess, family, subtype, 0x0000, NULL, 0); |
|
| 620 |
638 |
| 621 /* copy in data */ |
639 /* copy in data */ |
| 622 newshort = htons(*shortdata); |
640 newshort = htons(*shortdata); |
| 623 memcpy(&(newpacket->data[10]), &newshort, sizeof(u_short)); |
641 memcpy(&(newpacket->data[10]), &newshort, sizeof(u_short)); |
| 624 |
642 |
| 625 aim_tx_enqueue(sess, newpacket); |
643 aim_tx_enqueue(sess, newpacket); |
| |
644 |
| 626 return sess->snac_nextid; |
645 return sess->snac_nextid; |
| 627 } |
646 } |
| 628 |
647 |
| 629 /* |
648 /* |
| 630 * aim_bos_reqlocaterights() |
649 * aim_bos_reqlocaterights() |
| 662 if(!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, packlen))) |
681 if(!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, packlen))) |
| 663 return (sess->snac_nextid); |
682 return (sess->snac_nextid); |
| 664 |
683 |
| 665 newpacket->lock = 1; |
684 newpacket->lock = 1; |
| 666 |
685 |
| 667 i = aim_putsnac(newpacket->data, 0x0004, 0x0002, 0x0000, sess->snac_nextid); |
686 i = aim_putsnac(newpacket->data, 0x0004, 0x0002, 0x0000, 0x00000000); |
| 668 aim_cachesnac(sess, 0x0004, 0x0002, 0x0000, NULL, 0); |
|
| 669 |
687 |
| 670 i += aimutil_put16(newpacket->data+i, 0x0000); |
688 i += aimutil_put16(newpacket->data+i, 0x0000); |
| 671 i += aimutil_put16(newpacket->data+i, 0x0000); |
689 i += aimutil_put16(newpacket->data+i, 0x0000); |
| 672 i += aimutil_put16(newpacket->data+i, 0x0003); |
690 i += aimutil_put16(newpacket->data+i, 0x0003); |
| 673 i += aimutil_put16(newpacket->data+i, 0x1f40); |
691 i += aimutil_put16(newpacket->data+i, 0x1f40); |