diff options
Diffstat (limited to 'libs/tgl/src/tgl-layout.h')
-rw-r--r-- | libs/tgl/src/tgl-layout.h | 539 |
1 files changed, 0 insertions, 539 deletions
diff --git a/libs/tgl/src/tgl-layout.h b/libs/tgl/src/tgl-layout.h deleted file mode 100644 index fee5b2c3d6..0000000000 --- a/libs/tgl/src/tgl-layout.h +++ /dev/null @@ -1,539 +0,0 @@ -/* - This file is part of tgl-library - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - Copyright Vitaly Valtman 2014-2015 -*/ -#ifndef __TGL_LAYOUT_H__ -#define __TGL_LAYOUT_H__ - -#define TGLDF_IMAGE 1 -#define TGLDF_STICKER 2 -#define TGLDF_ANIMATED 4 -#define TGLDF_AUDIO 8 -#define TGLDF_VIDEO 16 - -#define TGLMF_UNREAD 1 -#define TGLMF_OUT 2 -#define TGLMF_DISABLE_PREVIEW 4 -#define TGLMF_MENTION 16 -#define TGLMF_CREATED (1 << 8) -#define TGLMF_PENDING (1 << 9) -#define TGLMF_DELETED (1 << 10) -#define TGLMF_ENCRYPTED (1 << 11) -#define TGLMF_EMPTY (1 << 12) -#define TGLMF_SERVICE (1 << 13) -#define TGLMF_SESSION_OUTBOUND (1 << 14) - -#define TGLMF_CREATE 0x10000 - -#define TGLPF_CREATED (1 << 8) -#define TGLPF_CREATE (1 << 16) -#define TGLPF_HAS_PHOTO (1 << 11) -#define TGLPF_DELETED (1 << 10) - -#define TGLUF_CONTACT 1 -#define TGLUF_MUTUAL_CONTACT 2 -#define TGLUF_BLOCKED 4 -#define TGLUF_SELF 8 -#define TGLUF_CREATED TGLPF_CREATED -#define TGLUF_DELETED TGLPF_DELETED -#define TGLUF_HAS_PHOTO TGLPF_HAS_PHOTO -#define TGLUF_CREATE TGLPF_CREATE -#define TGLUF_BOT (1 << 12) - -#define TGLCF_CREATED TGLPF_CREATED -#define TGLCF_CREATE TGLPF_CREATE -#define TGLCF_HAS_PHOTO TGLPF_HAS_PHOTO - -#define TGLECF_CREATED TGLPF_CREATED -#define TGLECF_CREATE TGLPF_CREATE -#define TGLECF_HAS_PHOTO TGLPF_HAS_PHOTO -#define TGLECF_DELETED TGLPF_DELETED - -#define TGL_FLAGS_UNCHANGED 0xffff - -#define TGLDCF_AUTHORIZED 1 -#define TGLDCF_LOGGED_IN 8 - -#pragma pack(push,4) - -typedef struct { int type; int id; } tgl_peer_id_t; - -enum tgl_dc_state { - st_init, - st_reqpq_sent, - st_reqdh_sent, - st_client_dh_sent, - st_init_temp, - st_reqpq_sent_temp, - st_reqdh_sent_temp, - st_client_dh_sent_temp, - st_authorized, - st_error -}; - -#define MAX_DC_SESSIONS 3 - -struct tgl_session { - struct tgl_dc *dc; - long long session_id; - long long last_msg_id; - int seq_no; - int received_messages; - struct connection *c; - struct tree_long *ack_tree; - struct tgl_timer *ev; -}; - -struct tgl_dc_option { - struct tgl_dc_option *next; - char *ip; - int port; -}; - -struct tgl_dc { - int id; - //int port; - int flags; - int rsa_key_idx; - enum tgl_dc_state state; - //char *ip; - //char *user; - struct tgl_session *sessions[MAX_DC_SESSIONS]; - char auth_key[256]; - char temp_auth_key[256]; - char nonce[256]; - char new_nonce[256]; - char server_nonce[256]; - long long auth_key_id; - long long temp_auth_key_id; - long long temp_auth_key_bind_query_id; - - long long server_salt; - struct tgl_timer *ev; - - int server_time_delta; - double server_time_udelta; - - // ipv4, ipv6, ipv4_media, ipv6_media - struct tgl_dc_option *options[4]; -}; - -enum tgl_message_media_type { - tgl_message_media_none, - tgl_message_media_photo, - tgl_message_media_document, - tgl_message_media_geo, - tgl_message_media_contact, - tgl_message_media_unsupported, - //tgl_message_media_photo_encr, - //tgl_message_media_video_encr, - //tgl_message_media_audio_encr, - tgl_message_media_document_encr, - tgl_message_media_webpage, - tgl_message_media_venue, - tgl_message_media_video, - tgl_message_media_audio -}; - -enum tgl_message_action_type { - tgl_message_action_none, - tgl_message_action_geo_chat_create, - tgl_message_action_geo_chat_checkin, - tgl_message_action_chat_create, - tgl_message_action_chat_edit_title, - tgl_message_action_chat_edit_photo, - tgl_message_action_chat_delete_photo, - tgl_message_action_chat_add_user, - tgl_message_action_chat_add_user_by_link, - tgl_message_action_chat_delete_user, - tgl_message_action_set_message_ttl, - tgl_message_action_read_messages, - tgl_message_action_delete_messages, - tgl_message_action_screenshot_messages, - tgl_message_action_flush_history, - tgl_message_action_resend, - tgl_message_action_notify_layer, - tgl_message_action_typing, - tgl_message_action_noop, - tgl_message_action_commit_key, - tgl_message_action_abort_key, - tgl_message_action_request_key, - tgl_message_action_accept_key -}; - -enum tgl_typing_status { - tgl_typing_none, - tgl_typing_typing, - tgl_typing_cancel, - tgl_typing_record_video, - tgl_typing_upload_video, - tgl_typing_record_audio, - tgl_typing_upload_audio, - tgl_typing_upload_photo, - tgl_typing_upload_document, - tgl_typing_geo, - tgl_typing_choose_contact -}; - -struct tgl_file_location { - int dc; - long long volume; - int local_id; - long long secret; -}; - -struct tgl_photo_size { - char *type; - struct tgl_file_location loc; - int w; - int h; - int size; - char *data; -}; - -struct tgl_geo { - double longitude; - double latitude; -}; - -struct tgl_photo { - long long id; - long long access_hash; - int refcnt; - int user_id; - int date; - char *caption; - struct tgl_geo geo; - int sizes_num; - struct tgl_photo_size *sizes; -}; - -struct tgl_encr_document { - long long id; - long long access_hash; - int refcnt; - - int dc_id; - int size; - int key_fingerprint; - int flags; - - unsigned char *key; - unsigned char *iv; - int w; - int h; - char *caption; - char *mime_type; - int duration; -}; - - -struct tgl_user_status { - int online; - int when; - struct tgl_timer *ev; -}; - -struct tgl_bot_command { - char *command; - char *description; -}; - -struct tgl_bot_info { - int version; - char *share_text; - char *description; - int commands_num; - struct tgl_bot_command *commands; -}; - -struct tgl_user { - tgl_peer_id_t id; - int flags; - struct tgl_message *last; - char *print_name; - int structure_version; - struct tgl_file_location photo_big; - struct tgl_file_location photo_small; - int last_read_in; - int last_read_out; - long long photo_id; - struct tgl_photo *photo; - char *first_name; - char *last_name; - char *phone; - long long access_hash; - struct tgl_user_status status; - int blocked; - char *real_first_name; - char *real_last_name; - char *username; - - struct tgl_bot_info *bot_info; -}; - -struct tgl_chat_user { - int user_id; - int inviter_id; - int date; -}; - -struct tgl_chat { - tgl_peer_id_t id; - int flags; - struct tgl_message *last; - char *print_title; - int structure_version; - struct tgl_file_location photo_big; - struct tgl_file_location photo_small; - int last_read_in; - int last_read_out; - struct tgl_photo *photo; - char *title; - int users_num; - int user_list_size; - int user_list_version; - struct tgl_chat_user *user_list; - int date; - int version; - int admin_id; -}; - -enum tgl_secret_chat_state { - sc_none, - sc_waiting, - sc_request, - sc_ok, - sc_deleted -}; - -enum tgl_secret_chat_exchange_state { - tgl_sce_none, - tgl_sce_requested, - tgl_sce_accepted, - tgl_sce_committed, - tgl_sce_confirmed, - tgl_sce_aborted -}; - -struct tgl_secret_chat { - tgl_peer_id_t id; - int flags; - struct tgl_message *last; - char *print_name; - int structure_version; - struct tgl_file_location photo_big; - struct tgl_file_location photo_small; - struct tgl_photo *photo; - int user_id; - int admin_id; - int date; - int ttl; - int layer; - int in_seq_no; - int out_seq_no; - int last_in_seq_no; - long long access_hash; - unsigned char *g_key; - - enum tgl_secret_chat_state state; - int key[64]; - long long key_fingerprint; - unsigned char first_key_sha[20]; - - long long exchange_id; - enum tgl_secret_chat_exchange_state exchange_state; - int exchange_key[64]; - long long exchange_key_fingerprint; -}; - -typedef union tgl_peer { - struct { - tgl_peer_id_t id; - int flags; - struct tgl_message *last; - char *print_name; - int structure_version; - struct tgl_file_location photo_big; - struct tgl_file_location photo_small; - struct tgl_photo *photo; - }; - struct tgl_user user; - struct tgl_chat chat; - struct tgl_secret_chat encr_chat; -} tgl_peer_t; -/* -struct tgl_video { - long long id; - long long access_hash; - int user_id; - int date; - int size; - int dc_id; - struct tgl_photo_size thumb; - char *caption; - int duration; - int w; - int h; - char *mime_type; -}; - -struct tgl_audio { - long long id; - long long access_hash; - int user_id; - int date; - int size; - int dc_id; - int duration; - char *mime_type; -};*/ - -struct tgl_document { - long long id; - long long access_hash; - int refcnt; - int user_id; - int date; - int size; - int dc_id; - struct tgl_photo_size thumb; - char *caption; - char *mime_type; - - int w; - int h; - int flags; - int duration; -}; - -struct tgl_message_action { - enum tgl_message_action_type type; - union { - struct { - char *title; - int user_num; - int *users; - }; - char *new_title; - struct tgl_photo *photo; - int user; - int ttl; - int layer; - int read_cnt; - int delete_cnt; - int screenshot_cnt; - enum tgl_typing_status typing; - struct { - int start_seq_no; - int end_seq_no; - }; - struct { - unsigned char *g_a; - long long exchange_id; - long long key_fingerprint; - }; - }; -}; - - -struct tgl_webpage { - long long id; - int refcnt; - char *url; - char *display_url; - char *type; - char *site_name; - char *title; - char *description; - struct tgl_photo *photo; - char *embed_url; - char *embed_type; - int embed_width; - int embed_height; - int duration; - char *author; -}; - -struct tgl_message_media { - enum tgl_message_media_type type; - union { - struct { - union { - struct tgl_photo *photo; - struct tgl_document *document; - }; - char *caption; - }; - - struct tgl_encr_document *encr_document; - struct tgl_webpage *webpage; - - struct tgl_geo geo; - struct { - char *phone; - char *first_name; - char *last_name; - int user_id; - }; - - struct { - void *data; - int data_size; - }; - struct { - struct tgl_geo geo; - char *title; - char *address; - char *provider; - char *venue_id; - } venue; - }; -}; - -struct tgl_message_reply_markup { - int refcnt; - int flags; - int rows; - int *row_start; - char **buttons; -}; - -struct tgl_message { - struct tgl_message *next_use, *prev_use; - struct tgl_message *next, *prev; - long long id; - int flags; - tgl_peer_id_t fwd_from_id; - int fwd_date; - int reply_id; - tgl_peer_id_t from_id; - tgl_peer_id_t to_id; - int date; - struct tgl_message_reply_markup *reply_markup; - union { - struct tgl_message_action action; - struct { - char *message; - int message_len; - struct tgl_message_media media; - }; - }; -}; -#pragma pack(pop) -#endif |