diff options
author | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-05-15 10:38:20 +0000 |
---|---|---|
committer | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-05-15 10:38:20 +0000 |
commit | 48540940b6c28bb4378abfeb500ec45a625b37b6 (patch) | |
tree | 2ef294c0763e802f91d868bdef4229b6868527de /protocols/MRA/Docs/proto.htm | |
parent | 5c350913f011e119127baeb32a6aedeb4f0d33bc (diff) |
initial commit
git-svn-id: http://svn.miranda-ng.org/main/trunk@2 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/MRA/Docs/proto.htm')
-rw-r--r-- | protocols/MRA/Docs/proto.htm | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/protocols/MRA/Docs/proto.htm b/protocols/MRA/Docs/proto.htm new file mode 100644 index 0000000000..ec334ffb30 --- /dev/null +++ b/protocols/MRA/Docs/proto.htm @@ -0,0 +1,103 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0028)http://agent.mail.ru/proto.h -->
+<HTML><HEAD>
+<META http-equiv=Content-Type content="text/html; charset=windows-1251">
+<META content="MSHTML 6.00.2900.2722" name=GENERATOR></HEAD>
+<BODY>//***************************************************************************
+// $Id: proto.h,v 1.141 2005/10/24 15:32:33 shingrus Exp $
+//***************************************************************************
+#ifndef MRIM_PROTO_H #define MRIM_PROTO_H #include <SYS types.h>#define
+PROTO_VERSION_MAJOR 1 #define PROTO_VERSION_MINOR 10 #define PROTO_VERSION
+((((u_long)(PROTO_VERSION_MAJOR))<<16)|(u_long)(PROTO_VERSION_MINOR))
+#define PROTO_MAJOR(p) (((p)&0xFFFF0000)>>16) #define PROTO_MINOR(p)
+((p)&0x0000FFFF) typedef struct mrim_packet_header_t { u_long magic; //
+Magic u_long proto; // Версия протокола u_long seq; // Sequence u_long msg; //
+Тип пакета u_long dlen; // Длина данных u_long from; // Адрес отправителя u_long
+fromport; // Порт отправителя u_char reserved[16]; // Зарезервировано }
+mrim_packet_header_t; #define CS_MAGIC 0xDEADBEEF // Клиентский Magic ( C
+<-> S )
+/***************************************************************************
+ПРОТОКОЛ СВЯЗИ КЛИЕНТ-СЕРВЕР
+***************************************************************************/
+#define MRIM_CS_HELLO 0x1001 // C -> S // empty #define MRIM_CS_HELLO_ACK
+0x1002 // S -> C // mrim_connection_params_t #define MRIM_CS_LOGIN_ACK 0x1004
+// S -> C // empty #define MRIM_CS_LOGIN_REJ 0x1005 // S -> C // LPS
+reason #define MRIM_CS_PING 0x1006 // C -> S // empty #define MRIM_CS_MESSAGE
+0x1008 // C -> S // UL flags // LPS to // LPS message // LPS rtf-formatted
+message (>=1.1) #define MESSAGE_FLAG_OFFLINE 0x00000001 #define
+MESSAGE_FLAG_NORECV 0x00000004 #define MESSAGE_FLAG_AUTHORIZE 0x00000008 //
+X-MRIM-Flags: 00000008 #define MESSAGE_FLAG_SYSTEM 0x00000040 #define
+MESSAGE_FLAG_RTF 0x00000080 #define MESSAGE_FLAG_CONTACT 0x00000200 #define
+MESSAGE_FLAG_NOTIFY 0x00000400 #define MESSAGE_FLAG_MULTICAST 0x00001000 #define
+MAX_MULTICAST_RECIPIENTS 50 #define MESSAGE_USERFLAGS_MASK 0x000036A8 // Flags
+that user is allowed to set himself #define MRIM_CS_MESSAGE_ACK 0x1009 // S
+-> C // UL msg_id // UL flags // LPS from // LPS message // LPS rtf-formatted
+message (>=1.1) #define MRIM_CS_MESSAGE_RECV 0x1011 // C -> S // LPS from
+// UL msg_id #define MRIM_CS_MESSAGE_STATUS 0x1012 // S -> C // UL status
+#define MESSAGE_DELIVERED 0x0000 // Message delivered directly to user #define
+MESSAGE_REJECTED_NOUSER 0x8001 // Message rejected - no such user #define
+MESSAGE_REJECTED_INTERR 0x8003 // Internal server error #define
+MESSAGE_REJECTED_LIMIT_EXCEEDED 0x8004 // Offline messages limit exceeded
+#define MESSAGE_REJECTED_TOO_LARGE 0x8005 // Message is too large #define
+MESSAGE_REJECTED_DENY_OFFMSG 0x8006 // User does not accept offline messages
+#define MRIM_CS_USER_STATUS 0x100F // S -> C // UL status #define
+STATUS_OFFLINE 0x00000000 #define STATUS_ONLINE 0x00000001 #define STATUS_AWAY
+0x00000002 #define STATUS_UNDETERMINATED 0x00000003 #define
+STATUS_FLAG_INVISIBLE 0x80000000 // LPS user #define MRIM_CS_LOGOUT 0x1013 // S
+-> C // UL reason #define LOGOUT_NO_RELOGIN_FLAG 0x0010 // Logout due to
+double login #define MRIM_CS_CONNECTION_PARAMS 0x1014 // S -> C //
+mrim_connection_params_t #define MRIM_CS_USER_INFO 0x1015 // S -> C // (LPS
+key, LPS value)* X #define MRIM_CS_ADD_CONTACT 0x1019 // C -> S // UL flags
+(group(2) or usual(0) // UL group id (unused if contact is group) // LPS contact
+// LPS name #define CONTACT_FLAG_REMOVED 0x00000001 #define CONTACT_FLAG_GROUP
+0x00000002 #define CONTACT_FLAG_INVISIBLE 0x00000004 #define
+CONTACT_FLAG_VISIBLE 0x00000008 #define CONTACT_FLAG_IGNORE 0x00000010 #define
+CONTACT_FLAG_SHADOW 0x00000020 #define MRIM_CS_ADD_CONTACT_ACK 0x101A // S ->
+C // UL status // UL contact_id or (u_long)-1 if status is not OK #define
+CONTACT_OPER_SUCCESS 0x0000 #define CONTACT_OPER_ERROR 0x0001 #define
+CONTACT_OPER_INTERR 0x0002 #define CONTACT_OPER_NO_SUCH_USER 0x0003 #define
+CONTACT_OPER_INVALID_INFO 0x0004 #define CONTACT_OPER_USER_EXISTS 0x0005 #define
+CONTACT_OPER_GROUP_LIMIT 0x6 #define MRIM_CS_MODIFY_CONTACT 0x101B // C -> S
+// UL id // UL flags - same as for MRIM_CS_ADD_CONTACT // UL group id (unused if
+contact is group) // LPS contact // LPS name #define MRIM_CS_MODIFY_CONTACT_ACK
+0x101C // S -> C // UL status, same as for MRIM_CS_ADD_CONTACT_ACK #define
+MRIM_CS_OFFLINE_MESSAGE_ACK 0x101D // S -> C // UIDL // LPS offline message
+#define MRIM_CS_DELETE_OFFLINE_MESSAGE 0x101E // C -> S // UIDL #define
+MRIM_CS_AUTHORIZE 0x1020 // C -> S // LPS user #define MRIM_CS_AUTHORIZE_ACK
+0x1021 // S -> C // LPS user #define MRIM_CS_CHANGE_STATUS 0x1022 // C ->
+S // UL new status #define MRIM_CS_GET_MPOP_SESSION 0x1024 // C -> S #define
+MRIM_CS_MPOP_SESSION 0x1025 // S -> C #define MRIM_GET_SESSION_FAIL 0 #define
+MRIM_GET_SESSION_SUCCESS 1 //UL status // LPS mpop session //white pages!
+#define MRIM_CS_WP_REQUEST 0x1029 //C->S //DWORD field, LPS value #define
+PARAMS_NUMBER_LIMIT 50 #define PARAM_VALUE_LENGTH_LIMIT 64 //if last symbol in
+value eq '*' it will be replaced by LIKE '%' // params define // must be in
+consecutive order (0..N) to quick check in check_anketa_info_request enum {
+MRIM_CS_WP_REQUEST_PARAM_USER = 0, MRIM_CS_WP_REQUEST_PARAM_DOMAIN,
+MRIM_CS_WP_REQUEST_PARAM_NICKNAME, MRIM_CS_WP_REQUEST_PARAM_FIRSTNAME,
+MRIM_CS_WP_REQUEST_PARAM_LASTNAME, MRIM_CS_WP_REQUEST_PARAM_SEX ,
+MRIM_CS_WP_REQUEST_PARAM_BIRTHDAY, MRIM_CS_WP_REQUEST_PARAM_DATE1 ,
+MRIM_CS_WP_REQUEST_PARAM_DATE2 , //!!!!!!!!!!!!!!!!!!!online request param must
+be at end of request!!!!!!!!!!!!!!! MRIM_CS_WP_REQUEST_PARAM_ONLINE ,
+MRIM_CS_WP_REQUEST_PARAM_STATUS , // we do not used it, yet
+MRIM_CS_WP_REQUEST_PARAM_CITY_ID, MRIM_CS_WP_REQUEST_PARAM_ZODIAC,
+MRIM_CS_WP_REQUEST_PARAM_BIRTHDAY_MONTH, MRIM_CS_WP_REQUEST_PARAM_BIRTHDAY_DAY,
+MRIM_CS_WP_REQUEST_PARAM_COUNTRY_ID, MRIM_CS_WP_REQUEST_PARAM_MAX }; #define
+MRIM_CS_ANKETA_INFO 0x1028 //S->C //DWORD status #define
+MRIM_ANKETA_INFO_STATUS_OK 1 #define MRIM_ANKETA_INFO_STATUS_NOUSER 0 #define
+MRIM_ANKETA_INFO_STATUS_DBERR 2 #define MRIM_ANKETA_INFO_STATUS_RATELIMERR 3
+//DWORD fields_num //DWORD max_rows //DWORD server_time sec since 1970
+(unixtime) // fields set //%fields_num == 0 //values set //%fields_num == 0
+//LPS value (numbers too) #define MRIM_CS_MAILBOX_STATUS 0x1033 //DWORD new
+messages in mailbox #define MRIM_CS_CONTACT_LIST2 0x1037 //S->C // UL status
+#define GET_CONTACTS_OK 0x0000 #define GET_CONTACTS_ERROR 0x0001 #define
+GET_CONTACTS_INTERR 0x0002 //DWORD status - if ...OK than this staff: //DWORD
+groups number //mask symbols table: //'s' - lps //'u' - unsigned long //'z' -
+zero terminated string //LPS groups fields mask //LPS contacts fields mask
+//group fields //contacts fields //groups mask 'us' == flags, name //contact
+mask 'uussuu' flags, flags, internal flags, status #define
+CONTACT_INTFLAG_NOT_AUTHORIZED 0x0001 //old packet cs_login with cs_statistic
+#define MRIM_CS_LOGIN2 0x1038 // C -> S #define MAX_CLIENT_DESCRIPTION 256 //
+LPS login // LPS password // DWORD status //+ statistic packet data: // LPS
+client description //max 256 typedef struct mrim_connection_params_t { unsigned
+long ping_period; } mrim_connection_params_t; #endif // MRIM_PROTO_H
+</BODY></HTML>
|