libfaim/aim_misc.c

changeset 1258
5f0f555e25ba
parent 1248
d98eb324cffe
child 1302
c7214a694c60
equal deleted inserted replaced
1257:ab7b551c1b90 1258:5f0f555e25ba
455 return -1; 455 return -1;
456 456
457 newpacket->lock = 1; 457 newpacket->lock = 1;
458 458
459 i = aim_putsnac(newpacket->data, 0x0001, 0x0017, 0x0000, sess->snac_nextid); 459 i = aim_putsnac(newpacket->data, 0x0001, 0x0017, 0x0000, sess->snac_nextid);
460 aim_cachesnac(sess, 0x0001, 0x0017, 0x0000, NULL, 0);
460 461
461 i += aimutil_put16(newpacket->data+i, 0x0001); 462 i += aimutil_put16(newpacket->data+i, 0x0001);
462 i += aimutil_put16(newpacket->data+i, 0x0003); 463 i += aimutil_put16(newpacket->data+i, 0x0003);
463 464
465 i += aimutil_put16(newpacket->data+i, 0x0013);
466 i += aimutil_put16(newpacket->data+i, 0x0001);
467
464 i += aimutil_put16(newpacket->data+i, 0x0002); 468 i += aimutil_put16(newpacket->data+i, 0x0002);
465 i += aimutil_put16(newpacket->data+i, 0x0001); 469 i += aimutil_put16(newpacket->data+i, 0x0001);
466 470
467 i += aimutil_put16(newpacket->data+i, 0x0003); 471 i += aimutil_put16(newpacket->data+i, 0x0003);
468 i += aimutil_put16(newpacket->data+i, 0x0001); 472 i += aimutil_put16(newpacket->data+i, 0x0001);
481 485
482 i += aimutil_put16(newpacket->data+i, 0x000a); 486 i += aimutil_put16(newpacket->data+i, 0x000a);
483 i += aimutil_put16(newpacket->data+i, 0x0001); 487 i += aimutil_put16(newpacket->data+i, 0x0001);
484 488
485 i += aimutil_put16(newpacket->data+i, 0x000b); 489 i += aimutil_put16(newpacket->data+i, 0x000b);
486 i += aimutil_put16(newpacket->data+i, 0x0002); 490 i += aimutil_put16(newpacket->data+i, 0x0001);
487 491
488 i += aimutil_put16(newpacket->data+i, 0x000c); 492 i += aimutil_put16(newpacket->data+i, 0x000c);
489 i += aimutil_put16(newpacket->data+i, 0x0001); 493 i += aimutil_put16(newpacket->data+i, 0x0001);
490
491 i += aimutil_put16(newpacket->data+i, 0x0013);
492 i += aimutil_put16(newpacket->data+i, 0x0001);
493
494 i += aimutil_put16(newpacket->data+i, 0x0015);
495 i += aimutil_put16(newpacket->data+i, 0x0001);
496
497 #if 0
498 for (j = 0; j < 0x10; j++) {
499 i += aimutil_put16(newpacket->data+i, j); /* family */
500 i += aimutil_put16(newpacket->data+i, 0x0003); /* version */
501 }
502 #endif
503 494
504 newpacket->commandlen = i; 495 newpacket->commandlen = i;
505 newpacket->lock = 0; 496 newpacket->lock = 0;
506 aim_tx_enqueue(sess, newpacket); 497 aim_tx_enqueue(sess, newpacket);
507 498
508 return (sess->snac_nextid++); 499 return sess->snac_nextid;
509 } 500 }
510 501
511 502
512 /* 503 /*
513 * aim_bos_reqservice(serviceid) 504 * aim_bos_reqservice(serviceid)
653 return 0; 644 return 0;
654 645
655 newpacket->lock = 1; 646 newpacket->lock = 1;
656 647
657 aim_putsnac(newpacket->data, family, subtype, 0x0000, sess->snac_nextid); 648 aim_putsnac(newpacket->data, family, subtype, 0x0000, sess->snac_nextid);
658 649
659 aim_tx_enqueue(sess, newpacket); 650 aim_cachesnac(sess, family, subtype, 0x0000, NULL, 0);
660 return (sess->snac_nextid++); 651
652 aim_tx_enqueue(sess, newpacket);
653 return sess->snac_nextid;
661 } 654 }
662 655
663 /* 656 /*
664 * 657 *
665 * 658 *
680 return -1; 673 return -1;
681 674
682 newpacket->lock = 1; 675 newpacket->lock = 1;
683 676
684 aim_putsnac(newpacket->data, family, subtype, 0x0000, sess->snac_nextid); 677 aim_putsnac(newpacket->data, family, subtype, 0x0000, sess->snac_nextid);
678 aim_cachesnac(sess, family, subtype, 0x0000, NULL, 0);
685 679
686 /* copy in data */ 680 /* copy in data */
687 newlong = htonl(*longdata); 681 newlong = htonl(*longdata);
688 memcpy(&(newpacket->data[10]), &newlong, sizeof(u_long)); 682 memcpy(&(newpacket->data[10]), &newlong, sizeof(u_long));
689 683
690 aim_tx_enqueue(sess, newpacket); 684 aim_tx_enqueue(sess, newpacket);
691 return (sess->snac_nextid++); 685 return sess->snac_nextid;
692 } 686 }
693 687
694 faim_internal unsigned long aim_genericreq_s(struct aim_session_t *sess, 688 faim_internal unsigned long aim_genericreq_s(struct aim_session_t *sess,
695 struct aim_conn_t *conn, 689 struct aim_conn_t *conn,
696 u_short family, u_short subtype, 690 u_short family, u_short subtype,
707 return -1; 701 return -1;
708 702
709 newpacket->lock = 1; 703 newpacket->lock = 1;
710 704
711 aim_putsnac(newpacket->data, family, subtype, 0x0000, sess->snac_nextid); 705 aim_putsnac(newpacket->data, family, subtype, 0x0000, sess->snac_nextid);
706 aim_cachesnac(sess, family, subtype, 0x0000, NULL, 0);
712 707
713 /* copy in data */ 708 /* copy in data */
714 newshort = htons(*shortdata); 709 newshort = htons(*shortdata);
715 memcpy(&(newpacket->data[10]), &newshort, sizeof(u_short)); 710 memcpy(&(newpacket->data[10]), &newshort, sizeof(u_short));
716 711
717 aim_tx_enqueue(sess, newpacket); 712 aim_tx_enqueue(sess, newpacket);
718 return (sess->snac_nextid++); 713 return sess->snac_nextid;
719 } 714 }
720 715
721 /* 716 /*
722 * aim_bos_reqlocaterights() 717 * aim_bos_reqlocaterights()
723 * 718 *
755 return (sess->snac_nextid); 750 return (sess->snac_nextid);
756 751
757 newpacket->lock = 1; 752 newpacket->lock = 1;
758 753
759 i = aim_putsnac(newpacket->data, 0x0004, 0x0002, 0x0000, sess->snac_nextid); 754 i = aim_putsnac(newpacket->data, 0x0004, 0x0002, 0x0000, sess->snac_nextid);
755 aim_cachesnac(sess, 0x0004, 0x0002, 0x0000, NULL, 0);
756
760 i += aimutil_put16(newpacket->data+i, 0x0000); 757 i += aimutil_put16(newpacket->data+i, 0x0000);
761 i += aimutil_put16(newpacket->data+i, 0x0000); 758 i += aimutil_put16(newpacket->data+i, 0x0000);
762 i += aimutil_put16(newpacket->data+i, 0x0003); 759 i += aimutil_put16(newpacket->data+i, 0x0003);
763 i += aimutil_put16(newpacket->data+i, 0x1f40); 760 i += aimutil_put16(newpacket->data+i, 0x1f40);
764 i += aimutil_put16(newpacket->data+i, 0x03e7); 761 i += aimutil_put16(newpacket->data+i, 0x03e7);
766 i += aimutil_put16(newpacket->data+i, 0x0000); 763 i += aimutil_put16(newpacket->data+i, 0x0000);
767 i += aimutil_put16(newpacket->data+i, 0x0000); 764 i += aimutil_put16(newpacket->data+i, 0x0000);
768 765
769 aim_tx_enqueue(sess, newpacket); 766 aim_tx_enqueue(sess, newpacket);
770 767
771 return (sess->snac_nextid); 768 return sess->snac_nextid;
772 } 769 }
773 770
774 /* 771 /*
775 * Set directory profile data (not the same as aim_bos_setprofile!) 772 * Set directory profile data (not the same as aim_bos_setprofile!)
776 */ 773 */

mercurial