summaryrefslogtreecommitdiff
path: root/protocols/Telegram/tgl/tgl-layout.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Telegram/tgl/tgl-layout.h')
-rw-r--r--protocols/Telegram/tgl/tgl-layout.h539
1 files changed, 0 insertions, 539 deletions
diff --git a/protocols/Telegram/tgl/tgl-layout.h b/protocols/Telegram/tgl/tgl-layout.h
deleted file mode 100644
index fee5b2c3d6..0000000000
--- a/protocols/Telegram/tgl/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