| 1 /* |
|
| 2 * yahoo_auth.h: Header for Yahoo Messenger authentication schemes. Eew. |
|
| 3 * |
|
| 4 * Copyright(c) 2003 Cerulean Studios |
|
| 5 * |
|
| 6 * This program is free software; you can redistribute it and/or modify |
|
| 7 * it under the terms of the GNU General Public License as published by |
|
| 8 * the Free Software Foundation; either version 2 of the License, or |
|
| 9 * (at your option) any later version. |
|
| 10 * |
|
| 11 * This program is distributed in the hope that it will be useful, |
|
| 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 14 * GNU General Public License for more details. |
|
| 15 * |
|
| 16 * You should have received a copy of the GNU General Public License |
|
| 17 * along with this program; if not, write to the Free Software |
|
| 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
| 19 * |
|
| 20 */ |
|
| 21 |
|
| 22 #ifndef _YAHOO_AUTH_H_ |
|
| 23 #define _YAHOO_AUTH_H_ |
|
| 24 |
|
| 25 #define NUM_TYPE_THREES 105 |
|
| 26 #define NUM_TYPE_FOURS 56 |
|
| 27 #define NUM_TYPE_FIVES 37 |
|
| 28 |
|
| 29 unsigned int yahoo_auth_finalCountdown(unsigned int challenge, int divisor, int inner_loop, int outer_loop); |
|
| 30 |
|
| 31 /* We've defined the Yahoo authentication functions as having types 1-5; all take either 1 or 2 arguments. |
|
| 32 */ |
|
| 33 |
|
| 34 typedef struct _auth { |
|
| 35 int type; |
|
| 36 int var1; |
|
| 37 int var2; |
|
| 38 } auth_function_t; |
|
| 39 |
|
| 40 /* Type 3, 4 and 5 require lookups into ypager.exe's many static chunks of 256 bytes. Store them here. |
|
| 41 */ |
|
| 42 |
|
| 43 struct buffer_t { |
|
| 44 unsigned int buffer_start; |
|
| 45 unsigned char buffer[257]; |
|
| 46 }; |
|
| 47 |
|
| 48 #endif /* _YAHOO_AUTH_H_ */ |
|