libfaim/misc.c

changeset 1959
87a4cd1b8868
parent 1839
8ccb8f83aaab
child 2026
359c9d8619ca
equal deleted inserted replaced
1958:bceaec05f2c0 1959:87a4cd1b8868
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);

mercurial