tin  2.6.1
About: TIN is a threaded NNTP and spool based UseNet newsreader.
  Fossies Dox: tin-2.6.1.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

tin.h File Reference
#include <signal.h>
#include <stdio.h>
#include <time.h>
#include <ctype.h>
#include <stdarg.h>
#include "bool.h"
#include <pcre.h>
#include "extern.h"
#include "tinrc.h"
#include "nntplib.h"
#include "proto.h"
#include "debug.h"
Include dependency graph for tin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  t_cmdlineopts
 
struct  t_msgid
 
struct  t_article
 
struct  t_newsheader
 
struct  t_attribute
 
struct  t_attribute_state
 
struct  t_scope
 
struct  t_newsrc
 
struct  t_group
 
struct  t_hashnode
 
struct  t_fmt
 
struct  t_filters
 
struct  t_filter_comment
 
struct  t_filter
 
struct  t_filter_rule
 
struct  regex_cache
 
struct  t_save
 
struct  t_screen
 
struct  posted
 
struct  t_art_stat
 
struct  t_newnews
 
struct  opttxt
 
struct  t_option
 
struct  MultiPartInfo
 
struct  t_menu
 
struct  t_pagerinfo
 
struct  _TIMEINFO
 
struct  t_tintime
 
struct  t_mailcap
 
struct  urllist
 
struct  t_overview_fmt
 
struct  t_version
 

Macros

#define setlocale(Category, Locale)   /* empty */
 
#define N_(Str)   Str
 
#define bindtextdomain(Domain, Directory)   /* empty */
 
#define textdomain(Domain)   /* empty */
 
#define _(Text)   Text
 
#define LOCALEDIR   "/usr/share/locale"
 
#define EHOSTUNREACH   113
 
#define T_ARTNUM_PFMT   "ld"
 
#define T_ARTNUM_SFMT   "ld"
 
#define T_ARTNUM_CONST(v)   v ## L
 
#define atoartnum   atol
 
#define strtoartnum   strtol
 
#define WEXITSTATUS(status)   ((int) (((status) >> 8) & 0xFF))
 
#define WIFEXITED(status)   ((int) (((status) & 0xFF) == 0))
 
#define dirent   direct
 
#define DIR_BUF   struct dirent
 
#define unlink(file)   remove(file)
 
#define STDIN_FILENO   0
 
#define _PATH_TMP   "/tmp/"
 
#define isascii(c)   (!((c) & ~0177))
 
#define FAKE_NNTP_FP   (FILE *) 9999
 
#define SECOND_CHARACTER_DELAY   200
 
#define VT_ESCAPE_TIMEOUT   1
 
#define DEFAULT_PRINTER   "/usr/bin/lp"
 
#define DEFAULT_SUM   "sum -r"
 
#define DEFAULT_EDITOR   "/usr/bin/vi"
 
#define DEFAULT_MAILER   "/usr/lib/sendmail"
 
#define DEFAULT_MAILBOX   "/usr/spool/mail"
 
#define PATH_ISPELL   "ispell"
 
#define PATH_METAMAIL   "metamail"
 
#define METAMAIL_CMD   PATH_METAMAIL" -e -p -m \"tin\""
 
#define INTERNAL_CMD   "--internal"
 
#define PATH_PART   ""
 
#define PATH_PATCH   "p"
 
#define INDEX_LOCK   "%s.LCK"
 
#define PATHMASTER   "not-for-mail"
 
#define REREAD_ACTIVE_FILE_SECS   1200 /* seconds (20 mins) */
 
#define DEFAULT_ARTICLE_NUM   1200
 
#define DEFAULT_SAVE_NUM   30
 
#define DEFAULT_ACTIVE_NUM   1800
 
#define DEFAULT_NEWNEWS_NUM   5
 
#define DEFAULT_MAPKEYS_NUM   100 /* ~remappable keys per level (avoid massiv reallocs) */
 
#define DEFAULT_SCOPE_NUM   8
 
#define RCDIR   ".tin"
 
#define INDEX_MAILDIR   ".mail"
 
#define INDEX_NEWSDIR   ".news"
 
#define INDEX_SAVEDIR   ".save"
 
#define ACTIVE_FILE   "active"
 
#define ACTIVE_MAIL_FILE   "active.mail"
 
#define ACTIVE_SAVE_FILE   "active.save"
 
#define ACTIVE_TIMES_FILE   "active.times"
 
#define ATTRIBUTES_FILE   "attributes"
 
#define CONFIG_FILE   "tinrc"
 
#define SERVERCONFIG_FILE   "serverrc"
 
#define DEFAULT_MAILDIR   "Mail"
 
#define DEFAULT_SAVEDIR   "News"
 
#define DEFAULT_URL_HANDLER   "url_handler.pl"
 
#define SAVEFILE_PREFIX   "unknown"
 
#define MMDFHDRTXT   "\01\01\01\01\n"
 
#define DEFAULT_SLASHES_REGEX   "(?:^|(?<=\\s))/(?(?=[^-*/_\\s][^/\\s])[^-*/_\\s][^/]*[^-*/_\\s]|[^/\\s])/(?:(?=[,.!?;]?\\s)|$)"
 
#define DEFAULT_STARS_REGEX   "(?:^|(?<=\\s))\\*(?(?=[^-*/_\\s][^*\\s])[^-*/_\\s][^*]*[^-*/_\\s]|[^*\\s])\\*(?:(?=[,.!?;]?\\s)|$)"
 
#define DEFAULT_UNDERSCORES_REGEX   "(?:^|(?<=\\s))_(?(?=[^-*/_\\s][^_\\s])[^-*/_\\s][^_]*[^-*/_\\s]|[^_\\s])_(?:(?=[,.!?;]?\\s)|$)"
 
#define DEFAULT_STROKES_REGEX   "(?:^|(?<=\\s))-(?(?=[^-*/_\\s][^-\\s])[^-*/_\\s][^-]*[^-*/_\\s]|[^-\\s])-(?:(?=[,.!?;]?\\s)|$)"
 
#define DEFAULT_STRIP_RE_REGEX   "(?:R[eE](?:\\^\\d+|\\[\\d+\\])?|A[wW]|Odp|Sv):\\s"
 
#define DEFAULT_STRIP_WAS_REGEX   "(?:(?<=\\S)|\\s)\\‍((?:[Ww]a[rs]|[Bb]y[l\\xb3]o):.*\\‍)\\s*$"
 
#define DEFAULT_U8_STRIP_WAS_REGEX   "(?:(?<=\\S)|\\s)\\‍((?:[Ww]a[rs]|[Bb]y[l\\x{0142}]o):.*\\‍)\\s*$"
 
#define UUBEGIN_REGEX   "begin\\s\\s?[0-7]{3,4}\\s+"
 
#define UUBODY_REGEX   "(?:`|.[\\x20-\\x60]{1,61})$"
 
#define SHAR_REGEX   "\\#(?:!\\s?(?:/usr)?/bin/sh|\\s?(?i)this\\sis\\sa\\sshell\\sarchive)"
 
#define DEFAULT_VERBATIM_BEGIN_REGEX   "#v\\+\\s$"
 
#define DEFAULT_VERBATIM_END_REGEX   "#v-\\s$"
 
#define DEFAULT_EXTQUOTE_REGEX   "^\\|\\s"
 
#define URL_REGEX   "\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:(?:[^\\W_](?:(?:-|[^\\W_]){0,61}(?<!---)[^\\W_])?|xn--[^\\W_](?:-(?!-)|[^\\W_]){1,57}[^\\W_])\\.)+[a-z]{2,14}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)|\\[(?:(?:[0-9A-F]{0,4}:){1,7}[0-9A-F]{1,4}|(?:[0-9A-F]{0,4}:){1,3}(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))\\])(?::\\d+)?(?(?=[^\\‍)\\]\>\"\\s]*\\‍()(?:/[^\\]\>\"\\s]*|$|(?=[)\\]\>\"\\s]))|(?:/[^)\\]\>\"\\s]*|$|(?=[)\\]\>\"\\s])))"
 
#define MAIL_REGEX   "\\b(?:mailto:(?:[-\\w$.+!*'(),;/?:@&=]|%[\\da-f]{2})+)(?<!\\‍))"
 
#define NEWS_REGEX   "\\b(?:s?news|nntp):(?:(?:(?://(?:(?:[^\\W_](?:(?:-|[^\\W_]){0,61}(?<!---)[^\\W_])?|xn--[^\\W_](?:-(?!-)|[^\\W_]){1,57}[^\\W_])\\.)+[a-z]{2,14}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))(?::\\d+)?(?(?=[/])[^()\\^\\[\\]{}\\|\\x00-\\x1f\\x7f\\s\"<>'\\\\:,;]+|$))|[^\\^\\[\\]{}\\|\\x00-\\x1f\\x7f\\s<>\"():,;\\\\'/]+)\\b"
 
#define FILTER_FILE   "filter"
 
#define INPUT_HISTORY_FILE   ".inputhistory"
 
#define NEWSRC_FILE   ".newsrc"
 
#define NEWSRCTABLE_FILE   "newsrctable"
 
#define NEWNEWSRC_FILE   ".newnewsrc"
 
#define OLDNEWSRC_FILE   ".oldnewsrc"
 
#define OVERVIEW_FILE   ".overview"
 
#define OVERVIEW_FMT   "overview.fmt"
 
#define POSTED_FILE   "posted"
 
#define POSTPONED_FILE   "postponed.articles"
 
#define SUBSCRIPTIONS_FILE   "subscriptions"
 
#define NEWSGROUPS_FILE   "newsgroups"
 
#define KEYMAP_FILE   "keymap"
 
#define SIGDASHES   "-- \n"
 
#define CODESET   ((nl_item) 1)
 
#define IS_LOCAL_CHARSET(c)   (!strncasecmp(tinrc.mm_charset, c, strlen(c)))
 
#define MAX(a, b)   (((a) > (b)) ? (a) : (b))
 
#define MIN(a, b)   (((a) > (b)) ? (b) : (a))
 
#define forever   for(;;)
 
#define STRCPY(dst, src)   (dst[sizeof(dst) - 1] = '\0', strncpy(dst, src, sizeof(dst) - 1))
 
#define STRCMPEQ(s1, s2)   (strcmp((s1), (s2)) == 0)
 
#define STRNCMPEQ(s1, s2, n)   (strncmp((s1), (s2), n) == 0)
 
#define STRNCASECMPEQ(s1, s2, n)   (strncasecmp((s1), (s2), n) == 0)
 
#define PATH_LEN   255
 
#define NAME_LEN   14
 
#define LEN   1024
 
#define NEWSRC_LINE   8192
 
#define HEADER_LEN   1024
 
#define IMF_LINE_LEN   998 /* RFC 5322 2.1.1 */
 
#define TABLE_SIZE   1409
 
#define MODULO_COUNT_NUM   50
 
#define DAY   (60*60*24) /* Seconds in a day */
 
#define ctrl(c)   ((c) & 0x1F)
 
#define DEFAULT_ISO2ASC   "-1 " /* ISO -> ASCII charset conversion */
 
#define DEFAULT_COMMENT   "> " /* used when by follow-ups & replies */
 
#define T_CHAR_FMT   "c"
 
#define ART_MARK_UNREAD   '+' /* used to show that an art is unread */
 
#define ART_MARK_RETURN   '-' /* used to show that an art will return */
 
#define ART_MARK_SELECTED   '*' /* used to show that an art was auto selected */
 
#define ART_MARK_RECENT   'o' /* used to show that an art is fresh */
 
#define ART_MARK_READ   ' ' /* used to show that an art was not read or seen */
 
#define ART_MARK_READ_SELECTED   ':' /* used to show that a read art is hot (kill_level >0) */
 
#define ART_MARK_KILLED   'K' /* art has been killed (kill_level >0) */
 
#define ART_MARK_DELETED   'D' /* art has been marked for deletion (mailgroup) */
 
#define MARK_INRANGE   '#' /* group/art within a range (# command) */
 
#define TREE_ARROW   '>'
 
#define TREE_ARROW_WRAP   '>'
 
#define TREE_BLANK   ' '
 
#define TREE_HORIZ   '-'
 
#define TREE_UP_RIGHT   '`'
 
#define TREE_VERT   '|'
 
#define TREE_VERT_RIGHT   '+'
 
#define BLANK_PAGE_COLS   0
 
#define TIN_ABORT   1 /* User requested abort or timeout */
 
#define TINRC_CONFIRM_ACTION   (tinrc.confirm_choice == 1 || tinrc.confirm_choice == 4 || tinrc.confirm_choice == 5 || tinrc.confirm_choice == 7)
 
#define TINRC_CONFIRM_TO_QUIT   (tinrc.confirm_choice == 3 || tinrc.confirm_choice == 4 || tinrc.confirm_choice == 6 || tinrc.confirm_choice == 7)
 
#define TINRC_CONFIRM_SELECT   (tinrc.confirm_choice == 2 || tinrc.confirm_choice == 5 || tinrc.confirm_choice == 6 || tinrc.confirm_choice == 7)
 
#define TINRC_CONFIRM_MAX   7
 
#define AUTO_CC   1
 
#define AUTO_BCC   2
 
#define AUTO_CC_BCC   3
 
#define NUM_GOTO_NEXT_UNREAD   4
 
#define GOTO_NEXT_UNREAD_PGDN   1
 
#define GOTO_NEXT_UNREAD_TAB   2
 
#define NUM_TRIM_ARTICLE_BODY   8
 
#define SKIP_LEADING   1
 
#define SKIP_TRAILING   2
 
#define COMPACT_MULTIPLE   4
 
#define NUM_ISO_TABLES   7
 
#define MAX_COLOR   15
 
#define MAX_BACKCOLOR   7
 
#define MAX_ATTR   6
 
#define MAX_MARK   2
 
#define INDEX_TOP   2
 
#define INDEX2LNUM(i)   (INDEX_TOP + (i) - currmenu->first)
 
#define INDEX2SNUM(i)   ((i) - currmenu->first)
 
#define GROUP_MATCH(s1, pat, case_s)   (wildmat(s1, pat, case_s))
 
#define REGEX_FMT   (tinrc.wildcard ? "%s" : "*%s*")
 
#define IGNORE_ART(i)   ((tinrc.kill_level != KILL_THREAD && arts[i].killed) || (arts[i].thread == ART_EXPIRED))
 
#define IGNORE_ART_THREAD(i)   (arts[i].thread != ART_UNTHREADED || (tinrc.kill_level == KILL_NOTHREAD && arts[i].killed))
 
#define IS_PLAINTEXT(x)    (x->type == TYPE_TEXT && strcasecmp("plain", x->subtype) == 0)
 
#define HAS_FOLLOWUPS(i)   (arts[base[i]].thread >= 0)
 
#define TIN_FCLOSE(x)   fclose(x)
 
#define CURR_GROUP   (active[my_group[selmenu.curr]])
 
#define UNREAD_GROUP(i)   (!active[my_group[i]].bogus && active[my_group[i]].newsrc.num_unread > 0)
 
#define PLURAL(x, y)   ((x == 1) ? _(y##_singular) : _(y##_plural))
 
#define GROUP_TYPE_MAIL   0
 
#define GROUP_TYPE_NEWS   1
 
#define GROUP_TYPE_SAVE   2 /* saved news, read with tin -R */
 
#define KEYMAP_UNKNOWN   0
 
#define KEYMAP_UP   1
 
#define KEYMAP_DOWN   2
 
#define KEYMAP_LEFT   3
 
#define KEYMAP_RIGHT   4
 
#define KEYMAP_PAGE_UP   5
 
#define KEYMAP_PAGE_DOWN   6
 
#define KEYMAP_HOME   7
 
#define KEYMAP_END   8
 
#define KEYMAP_DEL   9
 
#define KEYMAP_INS   10
 
#define KEYMAP_MOUSE   11
 
#define MIN_LINES_ON_TERMINAL   8
 
#define MIN_COLUMNS_ON_TERMINAL   40
 
#define CMDLINE_GETART_LIMIT   1
 
#define CMDLINE_MAILDIR   2
 
#define CMDLINE_NNTPSERVER   4
 
#define CMDLINE_SAVEDIR   8
 
#define CMDLINE_USE_COLOR   16
 
#define SELECT_LEVEL   1
 
#define GROUP_LEVEL   2
 
#define THREAD_LEVEL   3
 
#define PAGE_LEVEL   4
 
#define INFO_PAGER   5
 
#define SCOPE_LEVEL   6
 
#define CONFIG_LEVEL   7
 
#define ATTRIB_LEVEL   8
 
#define ATTACHMENT_LEVEL   9
 
#define URL_LEVEL   10
 
#define POSTED_LEVEL   11
 
#define MINI_HELP_LINES   5
 
#define FEED_MAIL   1
 
#define FEED_PIPE   2
 
#define FEED_PRINT   3
 
#define FEED_SAVE   4
 
#define FEED_AUTOSAVE   5
 
#define FEED_REPOST   6
 
#define FEED_MARK_READ   7
 
#define FEED_MARK_UNREAD   8
 
#define THREAD_NONE   0
 
#define THREAD_SUBJ   1
 
#define THREAD_REFS   2
 
#define THREAD_BOTH   3
 
#define THREAD_MULTI   4
 
#define THREAD_PERC   5
 
#define THREAD_MAX   THREAD_PERC
 
#define THREAD_PERC_DEFAULT   75
 
#define SHOW_FROM_NONE   0
 
#define SHOW_FROM_ADDR   1
 
#define SHOW_FROM_NAME   2
 
#define SHOW_FROM_BOTH   3
 
#define THREAD_SCORE_MAX   0
 
#define THREAD_SCORE_SUM   1
 
#define THREAD_SCORE_WEIGHT   2
 
#define POST_PROC_NO   0
 
#define POST_PROC_SHAR   1
 
#define POST_PROC_YES   2
 
#define SORT_ARTICLES_BY_NOTHING   0
 
#define SORT_ARTICLES_BY_SUBJ_DESCEND   1
 
#define SORT_ARTICLES_BY_SUBJ_ASCEND   2
 
#define SORT_ARTICLES_BY_FROM_DESCEND   3
 
#define SORT_ARTICLES_BY_FROM_ASCEND   4
 
#define SORT_ARTICLES_BY_DATE_DESCEND   5
 
#define SORT_ARTICLES_BY_DATE_ASCEND   6
 
#define SORT_ARTICLES_BY_SCORE_DESCEND   7
 
#define SORT_ARTICLES_BY_SCORE_ASCEND   8
 
#define SORT_ARTICLES_BY_LINES_DESCEND   9
 
#define SORT_ARTICLES_BY_LINES_ASCEND   10
 
#define SORT_THREADS_BY_NOTHING   0
 
#define SORT_THREADS_BY_SCORE_DESCEND   1
 
#define SORT_THREADS_BY_SCORE_ASCEND   2
 
#define SORT_THREADS_BY_LAST_POSTING_DATE_DESCEND   3
 
#define SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND   4
 
#define BOGUS_KEEP   0 /* not used */
 
#define BOGUS_REMOVE   1
 
#define BOGUS_SHOW   2
 
#define KILL_UNREAD   0 /* Kill only unread articles */
 
#define KILL_THREAD   1 /* Kill all articles and show as K */
 
#define KILL_NOTHREAD   2 /* Kill all articles, never show them */
 
#define QUOTE_COMPRESS   1 /* Compress quotes */
 
#define QUOTE_SIGS   2 /* Quote signatures */
 
#define QUOTE_EMPTY   4 /* Quote empty lines */
 
#define CHECK_ANY_NEWS   0
 
#define START_ANY_NEWS   1
 
#define MAIL_ANY_NEWS   2
 
#define SAVE_ANY_NEWS   3
 
#define POSTED_NONE   0 /* Article wasn't posted */
 
#define POSTED_REDRAW   1 /* redraw needed in any case */
 
#define POSTED_OK   2 /* posted normally */
 
#define UUE_NO   0 /* Don't hide uue data */
 
#define UUE_YES   1 /* Hide uue data */
 
#define UUE_ALL   2 /* Hide uue data harder */
 
#define EXIT_SUCCESS   0 /* Successful exit status */
 
#define EXIT_FAILURE   1 /* Failing exit status */
 
#define NEWS_AVAIL_EXIT   2
 
#define NNTP_ERROR_EXIT   3
 
#define assert(p)   if(!(p)) asfail(__FILE__, __LINE__, "p"); else (void) 0;
 
#define ESC   27
 
#define DEFAULT_FILTER_DAYS   28
 
#define ART_UNTHREADED   -1
 
#define ART_EXPIRED   -2
 
#define ART_NORMAL   -1
 
#define ART_READ   0
 
#define ART_UNREAD   1
 
#define ART_WILL_RETURN   2
 
#define ART_UNAVAILABLE   -1 /* Also used by msgid.article */
 
#define ART_NOTKILLED   0
 
#define ART_KILLED   1
 
#define ART_KILLED_UNREAD   2
 
#define ART_ABORT   -2
 
#define UNSUBSCRIBED   '!'
 
#define SUBSCRIBED   ':'
 
#define SUB_CHAR(x)   (x ? SUBSCRIBED : UNSUBSCRIBED)
 
#define SUB_BOOL(x)   (x == SUBSCRIBED)
 
#define SCORE_MAX   10000
 
#define FILTER_SUBJ_CASE_SENSITIVE   0
 
#define FILTER_SUBJ_CASE_IGNORE   1
 
#define FILTER_FROM_CASE_SENSITIVE   2
 
#define FILTER_FROM_CASE_IGNORE   3
 
#define FILTER_MSGID   4
 
#define FILTER_MSGID_LAST   5
 
#define FILTER_MSGID_ONLY   6
 
#define FILTER_REFS_ONLY   7
 
#define FILTER_LINES   8
 
#define FILTER_LINES_NO   0
 
#define FILTER_LINES_EQ   1
 
#define FILTER_LINES_LT   2
 
#define FILTER_LINES_GT   3
 
#define DEFAULT_SELECT_FORMAT   "%f %n %U %G %d"
 
#define DEFAULT_GROUP_FORMAT   "%n %m %R %L %s %F"
 
#define DEFAULT_THREAD_FORMAT   "%n %m [%L] %T %F"
 
#define DEFAULT_DATE_FORMAT   "%a, %d %b %Y %H:%M:%S"
 
#define MAX_COL   78 /* Max. line length before issuing a warning */
 
#define MAX_SIG_LINES   4 /* Max. num. of signature lines before warning */
 
#define REF_REF   1 /* Add a ref->ref entry */
 
#define MSGID_REF   2 /* Add a msgid->ref entry */
 
#define HASHNODE_TABLE_SIZE   222199
 
#define MSGID_HASH_SIZE   222199
 
#define CAST_MASK(value, bits)   (((1U << (bits)) - 1) & (unsigned) (value))
 
#define CAST_BOOL(value)   CAST_MASK(value, 1)
 
#define CAST_BITS(value, bits)   CAST_MASK(value, BITS_OF(bits))
 
#define BITS_OF(bits)   BITS_OF_ ## bits
 
#define BoolField(value)   unsigned value:1
 
#define IntField(value)   unsigned value:BITS_OF(value)
 
#define BITS_OF_auto_cc_bcc   2
 
#define BITS_OF_mail_mime_encoding   2
 
#define BITS_OF_mm_network_charset   6
 
#define BITS_OF_post_mime_encoding   2
 
#define BITS_OF_post_process_type   2
 
#define BITS_OF_quick_kill_header   3
 
#define BITS_OF_quick_select_header   3
 
#define BITS_OF_show_author   2
 
#define BITS_OF_sort_article_type   4
 
#define BITS_OF_sort_threads_type   3
 
#define BITS_OF_thread_articles   3
 
#define BITS_OF_thread_perc   7
 
#define BITS_OF_trim_article_body   3
 
#define RETSIGTYPE   void
 
#define _CDECL
 
#define tin_sort   qsort
 
#define DIRSEP   '/'
 
#define MOUSE_BUTTON_1   0
 
#define MOUSE_BUTTON_2   1
 
#define MOUSE_BUTTON_3   2
 
#define REDIRECT_OUTPUT   "> /dev/null 2>&1"
 
#define REDIRECT_PGP_OUTPUT   "> /dev/null"
 
#define ENV_VAR_MAILER   "MAILER"
 
#define ENV_VAR_SHELL   "SHELL"
 
#define TIN_EDITOR_FMT   "%E +%N %F"
 
#define MAILER_FORMAT   "%M -oi -t < %F"
 
#define TMPDIR   get_val("TMPDIR", _PATH_TMP)
 
#define S_ISDIR(m)   (((m) & S_IFMT) == S_IFDIR)
 
#define S_ISREG(m)   (((m) & S_IFMT) == S_IFREG)
 
#define S_IRWXU   0000700 /* read, write, execute permission (owner) */
 
#define S_IRUSR   0000400 /* read permission (owner) */
 
#define S_IWUSR   0000200 /* write permission (owner) */
 
#define S_IXUSR   0000100 /* execute permission (owner) */
 
#define S_IRWXG   0000070 /* read, write, execute permission (group) */
 
#define S_IRGRP   0000040 /* read permission (group) */
 
#define S_IWGRP   0000020 /* write permission (group) */
 
#define S_IXGRP   0000010 /* execute permission (group) */
 
#define S_IRWXO   0000007 /* read, write, execute permission (other) */
 
#define S_IROTH   0000004 /* read permission (other) */
 
#define S_IWOTH   0000002 /* write permission (other) */
 
#define S_IXOTH   0000001 /* execute permission (other) */
 
#define S_IFMT   0xF000 /* type of file */
 
#define S_IFREG   0x8000 /* regular */
 
#define S_IRWXUGO   (S_IRWXU|S_IRWXG|S_IRWXO) /* read, write, execute permission (all) */
 
#define S_IRUGO   (S_IRUSR|S_IRGRP|S_IROTH) /* read permission (all) */
 
#define S_IWUGO   (S_IWUSR|S_IWGRP|S_IWOTH) /* write permission (all) */
 
#define S_IXUGO   (S_IXUSR|S_IXGRP|S_IXOTH) /* execute permission (all) */
 
#define S_ISVTX   0
 
#define R_OK   4 /* Test for Read permission */
 
#define W_OK   2 /* Test for Write permission */
 
#define X_OK   1 /* Test for eXecute permission */
 
#define F_OK   0 /* Test for existence of File */
 
#define my_malloc(size)   my_malloc1(__FILE__, __LINE__, (size_t) (size))
 
#define my_calloc(nmemb, size)   my_calloc1(__FILE__, __LINE__, (nmemb), (size_t) (size))
 
#define my_realloc(ptr, size)   my_realloc1(__FILE__, __LINE__, (ptr), (size_t) (size))
 
#define ARRAY_SIZE(array)   ((int) (sizeof(array) / sizeof(array[0])))
 
#define FreeIfNeeded(p)   if (p != NULL) free((void *) p)
 
#define FreeAndNull(p)   if (p != NULL) { free((void *) p); p = NULL; }
 
#define BlankIfNull(p)   ((p) ? (p) : "")
 
#define my_group_find(x)   add_my_group(x, FALSE, FALSE)
 
#define my_group_add(x, y)   add_my_group(x, TRUE, y)
 
#define for_each_group(x)   for (x = 0; x < num_active; x++)
 
#define for_each_art(x)   for (x = 0; x < top_art; x++)
 
#define for_each_art_in_thread(x, y)   for (x = (int) base[y]; x >= 0; x = arts[x].thread)
 
#define EIGHT_BIT(ptr)   (unsigned char *)ptr
 
#define is_EIGHT_BIT(p)   ((*EIGHT_BIT(p) < 32 && !isspace((int)*p)) || *EIGHT_BIT(p) > 127)
 
#define OUTC_RETTYPE   void
 
#define OUTC_ARGS   int c
 
#define OUTC_FUNCTION(func)   OUTC_RETTYPE func (c) int c;
 
#define TIN_DEFAULTS_BUILTIN   "/etc/opt/tin","/etc/tin","/etc","/usr/local/lib/tin","/usr/local/lib","/usr/local/etc/tin","/usr/local/etc","/usr/lib/tin","/usr/lib",NULL
 
#define TIN_DEFAULTS   TIN_DEFAULTS_BUILTIN
 
#define SETVBUF(stream, buf, mode, size)   setvbuf(stream, buf, mode, size)
 
#define CLOSEDIR(DIR)   if (closedir(DIR)) error_message(2, "closedir() failed: %s %d", __FILE__, __LINE__)
 
#define begin_va_copy(dst, src)   (dst) = (src)
 
#define end_va_copy(dst)   /* nothing */
 
#define snprintf   plp_snprintf
 
#define vsnprintf   plp_vsnprintf
 
#define UNUSED(x)   x
 
#define _Noreturn
 
#define MM_CHARSET   "US-ASCII"
 
#define SEEK_SET   0L
 
#define EOF   -1
 
#define TIN_ARTICLE_NAME   ".article"
 
#define TIN_CANCEL_NAME   ".cancel"
 
#define TIN_LETTER_NAME   ".letter"
 
#define TIN_BUGREPORT_NAME   ".bugreport"
 
#define PIPELINE_LIMIT   45
 

Typedefs

typedef long t_artnum
 
typedef int nl_item
 
typedef unsigned char t_bitmap
 
typedef struct posted t_posted
 
typedef const char constext
 
typedef struct _TIMEINFO TIMEINFO
 
typedef struct urllist t_url
 
typedef int(* t_compfunc) (t_comptype, t_comptype)
 
typedef void(* t_sortfunc) (void *, size_t, size_t, t_compfunc)
 
typedef void(* OutcPtr) (int c)
 
typedef FILE TCP
 
typedef void(* BodyPtr) (char *, FILE *, int)
 

Enumerations

enum  context {
  cMain , cArt , cAttachment , cAttrib ,
  cConfig , cFilter , cGroup , cInfopager ,
  cPage , cPOSTED , cPost , cPostCancel ,
  cPostFup , cReconnect , cScope , cSelect ,
  cThread , cURL
}
 
enum  icontext {
  cNone , cGetline , cPromptCONT , cPromptSLK ,
  cPromptYN
}
 
enum  resizer { cNo , cYes , cRedraw }
 
enum  rc_state { RC_IGNORE , RC_UPGRADE , RC_DOWNGRADE , RC_ERROR }
 
enum  { MIME_ENCODING_8BIT = 0 , MIME_ENCODING_BASE64 , MIME_ENCODING_QP , MIME_ENCODING_7BIT }
 
enum  { INTERACTIVE_NONE = 0 , INTERACTIVE_WITH_HEADERS , INTERACTIVE_WITHOUT_HEADERS }
 
enum  quote_enum { no_quote = 0 , dbl_quote , sgl_quote }
 
enum  {
  LOOKUP_OK = 0 , LOOKUP_FAILED = -1 , LOOKUP_QUIT = -2 , LOOKUP_UNAVAIL = -3 ,
  LOOKUP_REPLY = -4 , LOOKUP_ART_UNAVAIL = -5 , LOOKUP_NO_LAST = -6
}
 
enum  {
  GRP_RETSELECT = -1 , GRP_QUIT = -2 , GRP_NEXTUNREAD = -3 , GRP_NEXT = -4 ,
  GRP_ARTUNAVAIL = -5 , GRP_ARTABORT = -6 , GRP_KILLED = -7 , GRP_GOTOTHREAD = -8 ,
  GRP_ENTER = -9 , GRP_EXIT = -10
}
 

Macro Definition Documentation

◆ _

#define _ (   Text)    Text

Definition at line 94 of file tin.h.

◆ _CDECL

#define _CDECL

Definition at line 2144 of file tin.h.

◆ _Noreturn

#define _Noreturn

Definition at line 2495 of file tin.h.

◆ _PATH_TMP

#define _PATH_TMP   "/tmp/"

Definition at line 404 of file tin.h.

◆ ACTIVE_FILE

#define ACTIVE_FILE   "active"

Definition at line 630 of file tin.h.

◆ ACTIVE_MAIL_FILE

#define ACTIVE_MAIL_FILE   "active.mail"

Definition at line 631 of file tin.h.

◆ ACTIVE_SAVE_FILE

#define ACTIVE_SAVE_FILE   "active.save"

Definition at line 632 of file tin.h.

◆ ACTIVE_TIMES_FILE

#define ACTIVE_TIMES_FILE   "active.times"

Definition at line 633 of file tin.h.

◆ ARRAY_SIZE

#define ARRAY_SIZE (   array)    ((int) (sizeof(array) / sizeof(array[0])))

Definition at line 2250 of file tin.h.

◆ ART_ABORT

#define ART_ABORT   -2

Definition at line 1360 of file tin.h.

◆ ART_EXPIRED

#define ART_EXPIRED   -2

Definition at line 1335 of file tin.h.

◆ ART_KILLED

#define ART_KILLED   1

Definition at line 1354 of file tin.h.

◆ ART_KILLED_UNREAD

#define ART_KILLED_UNREAD   2

Definition at line 1355 of file tin.h.

◆ ART_MARK_DELETED

#define ART_MARK_DELETED   'D' /* art has been marked for deletion (mailgroup) */

Definition at line 908 of file tin.h.

◆ ART_MARK_KILLED

#define ART_MARK_KILLED   'K' /* art has been killed (kill_level >0) */

Definition at line 905 of file tin.h.

◆ ART_MARK_READ

#define ART_MARK_READ   ' ' /* used to show that an art was not read or seen */

Definition at line 899 of file tin.h.

◆ ART_MARK_READ_SELECTED

#define ART_MARK_READ_SELECTED   ':' /* used to show that a read art is hot (kill_level >0) */

Definition at line 902 of file tin.h.

◆ ART_MARK_RECENT

#define ART_MARK_RECENT   'o' /* used to show that an art is fresh */

Definition at line 896 of file tin.h.

◆ ART_MARK_RETURN

#define ART_MARK_RETURN   '-' /* used to show that an art will return */

Definition at line 890 of file tin.h.

◆ ART_MARK_SELECTED

#define ART_MARK_SELECTED   '*' /* used to show that an art was auto selected */

Definition at line 893 of file tin.h.

◆ ART_MARK_UNREAD

#define ART_MARK_UNREAD   '+' /* used to show that an art is unread */

Definition at line 887 of file tin.h.

◆ ART_NORMAL

#define ART_NORMAL   -1

Definition at line 1340 of file tin.h.

◆ ART_NOTKILLED

#define ART_NOTKILLED   0

Definition at line 1353 of file tin.h.

◆ ART_READ

#define ART_READ   0

Definition at line 1345 of file tin.h.

◆ ART_UNAVAILABLE

#define ART_UNAVAILABLE   -1 /* Also used by msgid.article */

Definition at line 1348 of file tin.h.

◆ ART_UNREAD

#define ART_UNREAD   1

Definition at line 1346 of file tin.h.

◆ ART_UNTHREADED

#define ART_UNTHREADED   -1

Definition at line 1334 of file tin.h.

◆ ART_WILL_RETURN

#define ART_WILL_RETURN   2

Definition at line 1347 of file tin.h.

◆ assert

#define assert (   p)    if(!(p)) asfail(__FILE__, __LINE__, "p"); else (void) 0;

Definition at line 1320 of file tin.h.

◆ atoartnum

#define atoartnum   atol

Definition at line 233 of file tin.h.

◆ ATTACHMENT_LEVEL

#define ATTACHMENT_LEVEL   9

Definition at line 1120 of file tin.h.

◆ ATTRIB_LEVEL

#define ATTRIB_LEVEL   8

Definition at line 1119 of file tin.h.

◆ ATTRIBUTES_FILE

#define ATTRIBUTES_FILE   "attributes"

Definition at line 634 of file tin.h.

◆ AUTO_BCC

#define AUTO_BCC   2

Definition at line 967 of file tin.h.

◆ AUTO_CC

#define AUTO_CC   1

Definition at line 966 of file tin.h.

◆ AUTO_CC_BCC

#define AUTO_CC_BCC   3

Definition at line 968 of file tin.h.

◆ begin_va_copy

#define begin_va_copy (   dst,
  src 
)    (dst) = (src)

Definition at line 2455 of file tin.h.

◆ bindtextdomain

#define bindtextdomain (   Domain,
  Directory 
)    /* empty */

Definition at line 91 of file tin.h.

◆ BITS_OF

#define BITS_OF (   bits)    BITS_OF_ ## bits

Definition at line 1590 of file tin.h.

◆ BITS_OF_auto_cc_bcc

#define BITS_OF_auto_cc_bcc   2

Definition at line 1595 of file tin.h.

◆ BITS_OF_mail_mime_encoding

#define BITS_OF_mail_mime_encoding   2

Definition at line 1596 of file tin.h.

◆ BITS_OF_mm_network_charset

#define BITS_OF_mm_network_charset   6

Definition at line 1597 of file tin.h.

◆ BITS_OF_post_mime_encoding

#define BITS_OF_post_mime_encoding   2

Definition at line 1598 of file tin.h.

◆ BITS_OF_post_process_type

#define BITS_OF_post_process_type   2

Definition at line 1599 of file tin.h.

◆ BITS_OF_quick_kill_header

#define BITS_OF_quick_kill_header   3

Definition at line 1600 of file tin.h.

◆ BITS_OF_quick_select_header

#define BITS_OF_quick_select_header   3

Definition at line 1601 of file tin.h.

◆ BITS_OF_show_author

#define BITS_OF_show_author   2

Definition at line 1602 of file tin.h.

◆ BITS_OF_sort_article_type

#define BITS_OF_sort_article_type   4

Definition at line 1603 of file tin.h.

◆ BITS_OF_sort_threads_type

#define BITS_OF_sort_threads_type   3

Definition at line 1604 of file tin.h.

◆ BITS_OF_thread_articles

#define BITS_OF_thread_articles   3

Definition at line 1605 of file tin.h.

◆ BITS_OF_thread_perc

#define BITS_OF_thread_perc   7

Definition at line 1606 of file tin.h.

◆ BITS_OF_trim_article_body

#define BITS_OF_trim_article_body   3

Definition at line 1607 of file tin.h.

◆ BLANK_PAGE_COLS

#define BLANK_PAGE_COLS   0

Definition at line 950 of file tin.h.

◆ BlankIfNull

#define BlankIfNull (   p)    ((p) ? (p) : "")

Definition at line 2255 of file tin.h.

◆ BOGUS_KEEP

#define BOGUS_KEEP   0 /* not used */

Definition at line 1210 of file tin.h.

◆ BOGUS_REMOVE

#define BOGUS_REMOVE   1

Definition at line 1211 of file tin.h.

◆ BOGUS_SHOW

#define BOGUS_SHOW   2

Definition at line 1212 of file tin.h.

◆ BoolField

#define BoolField (   value)    unsigned value:1

Definition at line 1592 of file tin.h.

◆ CAST_BITS

#define CAST_BITS (   value,
  bits 
)    CAST_MASK(value, BITS_OF(bits))

Definition at line 1589 of file tin.h.

◆ CAST_BOOL

#define CAST_BOOL (   value)    CAST_MASK(value, 1)

Definition at line 1588 of file tin.h.

◆ CAST_MASK

#define CAST_MASK (   value,
  bits 
)    (((1U << (bits)) - 1) & (unsigned) (value))

Definition at line 1587 of file tin.h.

◆ CHECK_ANY_NEWS

#define CHECK_ANY_NEWS   0

Definition at line 1232 of file tin.h.

◆ CLOSEDIR

#define CLOSEDIR (   DIR)    if (closedir(DIR)) error_message(2, "closedir() failed: %s %d", __FILE__, __LINE__)

Definition at line 2398 of file tin.h.

◆ CMDLINE_GETART_LIMIT

#define CMDLINE_GETART_LIMIT   1

Definition at line 1102 of file tin.h.

◆ CMDLINE_MAILDIR

#define CMDLINE_MAILDIR   2

Definition at line 1103 of file tin.h.

◆ CMDLINE_NNTPSERVER

#define CMDLINE_NNTPSERVER   4

Definition at line 1104 of file tin.h.

◆ CMDLINE_SAVEDIR

#define CMDLINE_SAVEDIR   8

Definition at line 1105 of file tin.h.

◆ CMDLINE_USE_COLOR

#define CMDLINE_USE_COLOR   16

Definition at line 1106 of file tin.h.

◆ CODESET

#define CODESET   ((nl_item) 1)

Definition at line 776 of file tin.h.

◆ COMPACT_MULTIPLE

#define COMPACT_MULTIPLE   4

Definition at line 983 of file tin.h.

◆ CONFIG_FILE

#define CONFIG_FILE   "tinrc"

Definition at line 635 of file tin.h.

◆ CONFIG_LEVEL

#define CONFIG_LEVEL   7

Definition at line 1118 of file tin.h.

◆ ctrl

#define ctrl (   c)    ((c) & 0x1F)

Definition at line 872 of file tin.h.

◆ CURR_GROUP

#define CURR_GROUP   (active[my_group[selmenu.curr]])

Definition at line 1054 of file tin.h.

◆ DAY

#define DAY   (60*60*24) /* Seconds in a day */

Definition at line 870 of file tin.h.

◆ DEFAULT_ACTIVE_NUM

#define DEFAULT_ACTIVE_NUM   1800

Definition at line 620 of file tin.h.

◆ DEFAULT_ARTICLE_NUM

#define DEFAULT_ARTICLE_NUM   1200

Definition at line 617 of file tin.h.

◆ DEFAULT_COMMENT

#define DEFAULT_COMMENT   "> " /* used when by follow-ups & replies */

Definition at line 879 of file tin.h.

◆ DEFAULT_DATE_FORMAT

#define DEFAULT_DATE_FORMAT   "%a, %d %b %Y %H:%M:%S"

Definition at line 1401 of file tin.h.

◆ DEFAULT_EDITOR

#define DEFAULT_EDITOR   "/usr/bin/vi"

Definition at line 551 of file tin.h.

◆ DEFAULT_EXTQUOTE_REGEX

#define DEFAULT_EXTQUOTE_REGEX   "^\\|\\s"

Definition at line 696 of file tin.h.

◆ DEFAULT_FILTER_DAYS

#define DEFAULT_FILTER_DAYS   28

Definition at line 1329 of file tin.h.

◆ DEFAULT_GROUP_FORMAT

#define DEFAULT_GROUP_FORMAT   "%n %m %R %L %s %F"

Definition at line 1399 of file tin.h.

◆ DEFAULT_ISO2ASC

#define DEFAULT_ISO2ASC   "-1 " /* ISO -> ASCII charset conversion */

Definition at line 875 of file tin.h.

◆ DEFAULT_MAILBOX

#define DEFAULT_MAILBOX   "/usr/spool/mail"

Definition at line 557 of file tin.h.

◆ DEFAULT_MAILDIR

#define DEFAULT_MAILDIR   "Mail"

Definition at line 637 of file tin.h.

◆ DEFAULT_MAILER

#define DEFAULT_MAILER   "/usr/lib/sendmail"

Definition at line 554 of file tin.h.

◆ DEFAULT_MAPKEYS_NUM

#define DEFAULT_MAPKEYS_NUM   100 /* ~remappable keys per level (avoid massiv reallocs) */

Definition at line 622 of file tin.h.

◆ DEFAULT_NEWNEWS_NUM

#define DEFAULT_NEWNEWS_NUM   5

Definition at line 621 of file tin.h.

◆ DEFAULT_PRINTER

#define DEFAULT_PRINTER   "/usr/bin/lp"

Definition at line 540 of file tin.h.

◆ DEFAULT_SAVE_NUM

#define DEFAULT_SAVE_NUM   30

Definition at line 618 of file tin.h.

◆ DEFAULT_SAVEDIR

#define DEFAULT_SAVEDIR   "News"

Definition at line 638 of file tin.h.

◆ DEFAULT_SCOPE_NUM

#define DEFAULT_SCOPE_NUM   8

Definition at line 623 of file tin.h.

◆ DEFAULT_SELECT_FORMAT

#define DEFAULT_SELECT_FORMAT   "%f %n %U %G %d"

Definition at line 1398 of file tin.h.

◆ DEFAULT_SLASHES_REGEX

#define DEFAULT_SLASHES_REGEX   "(?:^|(?<=\\s))/(?(?=[^-*/_\\s][^/\\s])[^-*/_\\s][^/]*[^-*/_\\s]|[^/\\s])/(?:(?=[,.!?;]?\\s)|$)"

Definition at line 667 of file tin.h.

◆ DEFAULT_STARS_REGEX

#define DEFAULT_STARS_REGEX   "(?:^|(?<=\\s))\\*(?(?=[^-*/_\\s][^*\\s])[^-*/_\\s][^*]*[^-*/_\\s]|[^*\\s])\\*(?:(?=[,.!?;]?\\s)|$)"

Definition at line 668 of file tin.h.

◆ DEFAULT_STRIP_RE_REGEX

#define DEFAULT_STRIP_RE_REGEX   "(?:R[eE](?:\\^\\d+|\\[\\d+\\])?|A[wW]|Odp|Sv):\\s"

Definition at line 674 of file tin.h.

◆ DEFAULT_STRIP_WAS_REGEX

#define DEFAULT_STRIP_WAS_REGEX   "(?:(?<=\\S)|\\s)\\‍((?:[Ww]a[rs]|[Bb]y[l\\xb3]o):.*\\‍)\\s*$"

Definition at line 676 of file tin.h.

◆ DEFAULT_STROKES_REGEX

#define DEFAULT_STROKES_REGEX   "(?:^|(?<=\\s))-(?(?=[^-*/_\\s][^-\\s])[^-*/_\\s][^-]*[^-*/_\\s]|[^-\\s])-(?:(?=[,.!?;]?\\s)|$)"

Definition at line 670 of file tin.h.

◆ DEFAULT_SUM

#define DEFAULT_SUM   "sum -r"

Definition at line 543 of file tin.h.

◆ DEFAULT_THREAD_FORMAT

#define DEFAULT_THREAD_FORMAT   "%n %m [%L] %T %F"

Definition at line 1400 of file tin.h.

◆ DEFAULT_U8_STRIP_WAS_REGEX

#define DEFAULT_U8_STRIP_WAS_REGEX   "(?:(?<=\\S)|\\s)\\‍((?:[Ww]a[rs]|[Bb]y[l\\x{0142}]o):.*\\‍)\\s*$"

Definition at line 677 of file tin.h.

◆ DEFAULT_UNDERSCORES_REGEX

#define DEFAULT_UNDERSCORES_REGEX   "(?:^|(?<=\\s))_(?(?=[^-*/_\\s][^_\\s])[^-*/_\\s][^_]*[^-*/_\\s]|[^_\\s])_(?:(?=[,.!?;]?\\s)|$)"

Definition at line 669 of file tin.h.

◆ DEFAULT_URL_HANDLER

#define DEFAULT_URL_HANDLER   "url_handler.pl"

Definition at line 639 of file tin.h.

◆ DEFAULT_VERBATIM_BEGIN_REGEX

#define DEFAULT_VERBATIM_BEGIN_REGEX   "#v\\+\\s$"

Definition at line 692 of file tin.h.

◆ DEFAULT_VERBATIM_END_REGEX

#define DEFAULT_VERBATIM_END_REGEX   "#v-\\s$"

Definition at line 693 of file tin.h.

◆ DIR_BUF

#define DIR_BUF   struct dirent

Definition at line 383 of file tin.h.

◆ dirent

#define dirent   direct

Definition at line 369 of file tin.h.

◆ DIRSEP

#define DIRSEP   '/'

Definition at line 2154 of file tin.h.

◆ EHOSTUNREACH

#define EHOSTUNREACH   113

Definition at line 130 of file tin.h.

◆ EIGHT_BIT

#define EIGHT_BIT (   ptr)    (unsigned char *)ptr

Definition at line 2267 of file tin.h.

◆ end_va_copy

#define end_va_copy (   dst)    /* nothing */

Definition at line 2456 of file tin.h.

◆ ENV_VAR_MAILER

#define ENV_VAR_MAILER   "MAILER"

Definition at line 2166 of file tin.h.

◆ ENV_VAR_SHELL

#define ENV_VAR_SHELL   "SHELL"

Definition at line 2167 of file tin.h.

◆ EOF

#define EOF   -1

Definition at line 2516 of file tin.h.

◆ ESC

#define ESC   27

Definition at line 1324 of file tin.h.

◆ EXIT_FAILURE

#define EXIT_FAILURE   1 /* Failing exit status */

Definition at line 1302 of file tin.h.

◆ EXIT_SUCCESS

#define EXIT_SUCCESS   0 /* Successful exit status */

Definition at line 1298 of file tin.h.

◆ F_OK

#define F_OK   0 /* Test for existence of File */

Definition at line 2236 of file tin.h.

◆ FAKE_NNTP_FP

#define FAKE_NNTP_FP   (FILE *) 9999

Definition at line 458 of file tin.h.

◆ FEED_AUTOSAVE

#define FEED_AUTOSAVE   5

Definition at line 1130 of file tin.h.

◆ FEED_MAIL

#define FEED_MAIL   1

Definition at line 1126 of file tin.h.

◆ FEED_MARK_READ

#define FEED_MARK_READ   7

Definition at line 1132 of file tin.h.

◆ FEED_MARK_UNREAD

#define FEED_MARK_UNREAD   8

Definition at line 1133 of file tin.h.

◆ FEED_PIPE

#define FEED_PIPE   2

Definition at line 1127 of file tin.h.

◆ FEED_PRINT

#define FEED_PRINT   3

Definition at line 1128 of file tin.h.

◆ FEED_REPOST

#define FEED_REPOST   6

Definition at line 1131 of file tin.h.

◆ FEED_SAVE

#define FEED_SAVE   4

Definition at line 1129 of file tin.h.

◆ FILTER_FILE

#define FILTER_FILE   "filter"

Definition at line 729 of file tin.h.

◆ FILTER_FROM_CASE_IGNORE

#define FILTER_FROM_CASE_IGNORE   3

Definition at line 1381 of file tin.h.

◆ FILTER_FROM_CASE_SENSITIVE

#define FILTER_FROM_CASE_SENSITIVE   2

Definition at line 1380 of file tin.h.

◆ FILTER_LINES

#define FILTER_LINES   8

Definition at line 1386 of file tin.h.

◆ FILTER_LINES_EQ

#define FILTER_LINES_EQ   1

Definition at line 1389 of file tin.h.

◆ FILTER_LINES_GT

#define FILTER_LINES_GT   3

Definition at line 1391 of file tin.h.

◆ FILTER_LINES_LT

#define FILTER_LINES_LT   2

Definition at line 1390 of file tin.h.

◆ FILTER_LINES_NO

#define FILTER_LINES_NO   0

Definition at line 1388 of file tin.h.

◆ FILTER_MSGID

#define FILTER_MSGID   4

Definition at line 1382 of file tin.h.

◆ FILTER_MSGID_LAST

#define FILTER_MSGID_LAST   5

Definition at line 1383 of file tin.h.

◆ FILTER_MSGID_ONLY

#define FILTER_MSGID_ONLY   6

Definition at line 1384 of file tin.h.

◆ FILTER_REFS_ONLY

#define FILTER_REFS_ONLY   7

Definition at line 1385 of file tin.h.

◆ FILTER_SUBJ_CASE_IGNORE

#define FILTER_SUBJ_CASE_IGNORE   1

Definition at line 1379 of file tin.h.

◆ FILTER_SUBJ_CASE_SENSITIVE

#define FILTER_SUBJ_CASE_SENSITIVE   0

Definition at line 1378 of file tin.h.

◆ for_each_art

#define for_each_art (   x)    for (x = 0; x < top_art; x++)

Definition at line 2260 of file tin.h.

◆ for_each_art_in_thread

#define for_each_art_in_thread (   x,
 
)    for (x = (int) base[y]; x >= 0; x = arts[x].thread)

Definition at line 2261 of file tin.h.

◆ for_each_group

#define for_each_group (   x)    for (x = 0; x < num_active; x++)

Definition at line 2259 of file tin.h.

◆ forever

#define forever   for(;;)

Definition at line 816 of file tin.h.

◆ FreeAndNull

#define FreeAndNull (   p)    if (p != NULL) { free((void *) p); p = NULL; }

Definition at line 2253 of file tin.h.

◆ FreeIfNeeded

#define FreeIfNeeded (   p)    if (p != NULL) free((void *) p)

Definition at line 2252 of file tin.h.

◆ GOTO_NEXT_UNREAD_PGDN

#define GOTO_NEXT_UNREAD_PGDN   1

Definition at line 974 of file tin.h.

◆ GOTO_NEXT_UNREAD_TAB

#define GOTO_NEXT_UNREAD_TAB   2

Definition at line 975 of file tin.h.

◆ GROUP_LEVEL

#define GROUP_LEVEL   2

Definition at line 1113 of file tin.h.

◆ GROUP_MATCH

#define GROUP_MATCH (   s1,
  pat,
  case_s 
)    (wildmat(s1, pat, case_s))

Definition at line 1025 of file tin.h.

◆ GROUP_TYPE_MAIL

#define GROUP_TYPE_MAIL   0

Definition at line 1069 of file tin.h.

◆ GROUP_TYPE_NEWS

#define GROUP_TYPE_NEWS   1

Definition at line 1070 of file tin.h.

◆ GROUP_TYPE_SAVE

#define GROUP_TYPE_SAVE   2 /* saved news, read with tin -R */

Definition at line 1071 of file tin.h.

◆ HAS_FOLLOWUPS

#define HAS_FOLLOWUPS (   i)    (arts[base[i]].thread >= 0)

Definition at line 1040 of file tin.h.

◆ HASHNODE_TABLE_SIZE

#define HASHNODE_TABLE_SIZE   222199

Definition at line 1491 of file tin.h.

◆ HEADER_LEN

#define HEADER_LEN   1024

Definition at line 863 of file tin.h.

◆ IGNORE_ART

#define IGNORE_ART (   i)    ((tinrc.kill_level != KILL_THREAD && arts[i].killed) || (arts[i].thread == ART_EXPIRED))

Definition at line 1029 of file tin.h.

◆ IGNORE_ART_THREAD

#define IGNORE_ART_THREAD (   i)    (arts[i].thread != ART_UNTHREADED || (tinrc.kill_level == KILL_NOTHREAD && arts[i].killed))

Definition at line 1031 of file tin.h.

◆ IMF_LINE_LEN

#define IMF_LINE_LEN   998 /* RFC 5322 2.1.1 */

Definition at line 864 of file tin.h.

◆ INDEX2LNUM

#define INDEX2LNUM (   i)    (INDEX_TOP + (i) - currmenu->first)

Definition at line 1020 of file tin.h.

◆ INDEX2SNUM

#define INDEX2SNUM (   i)    ((i) - currmenu->first)

Definition at line 1022 of file tin.h.

◆ INDEX_LOCK

#define INDEX_LOCK   "%s.LCK"

Definition at line 597 of file tin.h.

◆ INDEX_MAILDIR

#define INDEX_MAILDIR   ".mail"

Definition at line 626 of file tin.h.

◆ INDEX_NEWSDIR

#define INDEX_NEWSDIR   ".news"

Definition at line 627 of file tin.h.

◆ INDEX_SAVEDIR

#define INDEX_SAVEDIR   ".save"

Definition at line 628 of file tin.h.

◆ INDEX_TOP

#define INDEX_TOP   2

Definition at line 1019 of file tin.h.

◆ INFO_PAGER

#define INFO_PAGER   5

Definition at line 1116 of file tin.h.

◆ INPUT_HISTORY_FILE

#define INPUT_HISTORY_FILE   ".inputhistory"

Definition at line 730 of file tin.h.

◆ INTERNAL_CMD

#define INTERNAL_CMD   "--internal"

Definition at line 574 of file tin.h.

◆ IntField

#define IntField (   value)    unsigned value:BITS_OF(value)

Definition at line 1593 of file tin.h.

◆ is_EIGHT_BIT

#define is_EIGHT_BIT (   p)    ((*EIGHT_BIT(p) < 32 && !isspace((int)*p)) || *EIGHT_BIT(p) > 127)

Definition at line 2268 of file tin.h.

◆ IS_LOCAL_CHARSET

#define IS_LOCAL_CHARSET (   c)    (!strncasecmp(tinrc.mm_charset, c, strlen(c)))

Definition at line 782 of file tin.h.

◆ IS_PLAINTEXT

#define IS_PLAINTEXT (   x)     (x->type == TYPE_TEXT && strcasecmp("plain", x->subtype) == 0)

Definition at line 1036 of file tin.h.

◆ isascii

#define isascii (   c)    (!((c) & ~0177))

Definition at line 411 of file tin.h.

◆ KEYMAP_DEL

#define KEYMAP_DEL   9

Definition at line 1085 of file tin.h.

◆ KEYMAP_DOWN

#define KEYMAP_DOWN   2

Definition at line 1078 of file tin.h.

◆ KEYMAP_END

#define KEYMAP_END   8

Definition at line 1084 of file tin.h.

◆ KEYMAP_FILE

#define KEYMAP_FILE   "keymap"

Definition at line 747 of file tin.h.

◆ KEYMAP_HOME

#define KEYMAP_HOME   7

Definition at line 1083 of file tin.h.

◆ KEYMAP_INS

#define KEYMAP_INS   10

Definition at line 1086 of file tin.h.

◆ KEYMAP_LEFT

#define KEYMAP_LEFT   3

Definition at line 1079 of file tin.h.

◆ KEYMAP_MOUSE

#define KEYMAP_MOUSE   11

Definition at line 1087 of file tin.h.

◆ KEYMAP_PAGE_DOWN

#define KEYMAP_PAGE_DOWN   6

Definition at line 1082 of file tin.h.

◆ KEYMAP_PAGE_UP

#define KEYMAP_PAGE_UP   5

Definition at line 1081 of file tin.h.

◆ KEYMAP_RIGHT

#define KEYMAP_RIGHT   4

Definition at line 1080 of file tin.h.

◆ KEYMAP_UNKNOWN

#define KEYMAP_UNKNOWN   0

Definition at line 1076 of file tin.h.

◆ KEYMAP_UP

#define KEYMAP_UP   1

Definition at line 1077 of file tin.h.

◆ KILL_NOTHREAD

#define KILL_NOTHREAD   2 /* Kill all articles, never show them */

Definition at line 1219 of file tin.h.

◆ KILL_THREAD

#define KILL_THREAD   1 /* Kill all articles and show as K */

Definition at line 1218 of file tin.h.

◆ KILL_UNREAD

#define KILL_UNREAD   0 /* Kill only unread articles */

Definition at line 1217 of file tin.h.

◆ LEN

#define LEN   1024

Definition at line 860 of file tin.h.

◆ LOCALEDIR

#define LOCALEDIR   "/usr/share/locale"

Definition at line 98 of file tin.h.

◆ MAIL_ANY_NEWS

#define MAIL_ANY_NEWS   2

Definition at line 1234 of file tin.h.

◆ MAIL_REGEX

#define MAIL_REGEX   "\\b(?:mailto:(?:[-\\w$.+!*'(),;/?:@&=]|%[\\da-f]{2})+)(?<!\\‍))"

Definition at line 714 of file tin.h.

◆ MAILER_FORMAT

#define MAILER_FORMAT   "%M -oi -t < %F"

Definition at line 2169 of file tin.h.

◆ MARK_INRANGE

#define MARK_INRANGE   '#' /* group/art within a range (# command) */

Definition at line 911 of file tin.h.

◆ MAX

#define MAX (   a,
 
)    (((a) > (b)) ? (a) : (b))

Definition at line 808 of file tin.h.

◆ MAX_ATTR

#define MAX_ATTR   6

Definition at line 1009 of file tin.h.

◆ MAX_BACKCOLOR

#define MAX_BACKCOLOR   7

Definition at line 1004 of file tin.h.

◆ MAX_COL

#define MAX_COL   78 /* Max. line length before issuing a warning */

Definition at line 1472 of file tin.h.

◆ MAX_COLOR

#define MAX_COLOR   15

Definition at line 1003 of file tin.h.

◆ MAX_MARK

#define MAX_MARK   2

Definition at line 1015 of file tin.h.

◆ MAX_SIG_LINES

#define MAX_SIG_LINES   4 /* Max. num. of signature lines before warning */

Definition at line 1473 of file tin.h.

◆ METAMAIL_CMD

#define METAMAIL_CMD   PATH_METAMAIL" -e -p -m \"tin\""

Definition at line 572 of file tin.h.

◆ MIN

#define MIN (   a,
 
)    (((a) > (b)) ? (b) : (a))

Definition at line 811 of file tin.h.

◆ MIN_COLUMNS_ON_TERMINAL

#define MIN_COLUMNS_ON_TERMINAL   40

Definition at line 1096 of file tin.h.

◆ MIN_LINES_ON_TERMINAL

#define MIN_LINES_ON_TERMINAL   8

Definition at line 1095 of file tin.h.

◆ MINI_HELP_LINES

#define MINI_HELP_LINES   5

Definition at line 1124 of file tin.h.

◆ MM_CHARSET

#define MM_CHARSET   "US-ASCII"

Definition at line 2507 of file tin.h.

◆ MMDFHDRTXT

#define MMDFHDRTXT   "\01\01\01\01\n"

Definition at line 646 of file tin.h.

◆ MODULO_COUNT_NUM

#define MODULO_COUNT_NUM   50

Definition at line 868 of file tin.h.

◆ MOUSE_BUTTON_1

#define MOUSE_BUTTON_1   0

Definition at line 2159 of file tin.h.

◆ MOUSE_BUTTON_2

#define MOUSE_BUTTON_2   1

Definition at line 2160 of file tin.h.

◆ MOUSE_BUTTON_3

#define MOUSE_BUTTON_3   2

Definition at line 2161 of file tin.h.

◆ MSGID_HASH_SIZE

#define MSGID_HASH_SIZE   222199

Definition at line 1492 of file tin.h.

◆ MSGID_REF

#define MSGID_REF   2 /* Add a msgid->ref entry */

Definition at line 1481 of file tin.h.

◆ my_calloc

#define my_calloc (   nmemb,
  size 
)    my_calloc1(__FILE__, __LINE__, (nmemb), (size_t) (size))

Definition at line 2246 of file tin.h.

◆ my_group_add

#define my_group_add (   x,
 
)    add_my_group(x, TRUE, y)

Definition at line 2258 of file tin.h.

◆ my_group_find

#define my_group_find (   x)    add_my_group(x, FALSE, FALSE)

Definition at line 2257 of file tin.h.

◆ my_malloc

#define my_malloc (   size)    my_malloc1(__FILE__, __LINE__, (size_t) (size))

Definition at line 2245 of file tin.h.

◆ my_realloc

#define my_realloc (   ptr,
  size 
)    my_realloc1(__FILE__, __LINE__, (ptr), (size_t) (size))

Definition at line 2247 of file tin.h.

◆ N_

#define N_ (   Str)    Str

Definition at line 82 of file tin.h.

◆ NAME_LEN

#define NAME_LEN   14

Definition at line 858 of file tin.h.

◆ NEWNEWSRC_FILE

#define NEWNEWSRC_FILE   ".newnewsrc"

Definition at line 737 of file tin.h.

◆ NEWS_AVAIL_EXIT

#define NEWS_AVAIL_EXIT   2

Definition at line 1305 of file tin.h.

◆ NEWS_REGEX

#define NEWS_REGEX   "\\b(?:s?news|nntp):(?:(?:(?://(?:(?:[^\\W_](?:(?:-|[^\\W_]){0,61}(?<!---)[^\\W_])?|xn--[^\\W_](?:-(?!-)|[^\\W_]){1,57}[^\\W_])\\.)+[a-z]{2,14}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))(?::\\d+)?(?(?=[/])[^()\\^\\[\\]{}\\|\\x00-\\x1f\\x7f\\s\"<>'\\\\:,;]+|$))|[^\\^\\[\\]{}\\|\\x00-\\x1f\\x7f\\s<>\"():,;\\\\'/]+)\\b"

Definition at line 719 of file tin.h.

◆ NEWSGROUPS_FILE

#define NEWSGROUPS_FILE   "newsgroups"

Definition at line 746 of file tin.h.

◆ NEWSRC_FILE

#define NEWSRC_FILE   ".newsrc"

Definition at line 734 of file tin.h.

◆ NEWSRC_LINE

#define NEWSRC_LINE   8192

Definition at line 862 of file tin.h.

◆ NEWSRCTABLE_FILE

#define NEWSRCTABLE_FILE   "newsrctable"

Definition at line 735 of file tin.h.

◆ NNTP_ERROR_EXIT

#define NNTP_ERROR_EXIT   3

Definition at line 1306 of file tin.h.

◆ NUM_GOTO_NEXT_UNREAD

#define NUM_GOTO_NEXT_UNREAD   4

Definition at line 973 of file tin.h.

◆ NUM_ISO_TABLES

#define NUM_ISO_TABLES   7

Definition at line 998 of file tin.h.

◆ NUM_TRIM_ARTICLE_BODY

#define NUM_TRIM_ARTICLE_BODY   8

Definition at line 980 of file tin.h.

◆ OLDNEWSRC_FILE

#define OLDNEWSRC_FILE   ".oldnewsrc"

Definition at line 738 of file tin.h.

◆ OUTC_ARGS

#define OUTC_ARGS   int c

Definition at line 2302 of file tin.h.

◆ OUTC_FUNCTION

#define OUTC_FUNCTION (   func)    OUTC_RETTYPE func (c) int c;

Definition at line 2308 of file tin.h.

◆ OUTC_RETTYPE

#define OUTC_RETTYPE   void

Definition at line 2298 of file tin.h.

◆ OVERVIEW_FILE

#define OVERVIEW_FILE   ".overview"

Definition at line 740 of file tin.h.

◆ OVERVIEW_FMT

#define OVERVIEW_FMT   "overview.fmt"

Definition at line 742 of file tin.h.

◆ PAGE_LEVEL

#define PAGE_LEVEL   4

Definition at line 1115 of file tin.h.

◆ PATH_ISPELL

#define PATH_ISPELL   "ispell"

Definition at line 566 of file tin.h.

◆ PATH_LEN

#define PATH_LEN   255

Definition at line 843 of file tin.h.

◆ PATH_METAMAIL

#define PATH_METAMAIL   "metamail"

Definition at line 570 of file tin.h.

◆ PATH_PART

#define PATH_PART   ""

Definition at line 595 of file tin.h.

◆ PATH_PATCH

#define PATH_PATCH   "p"

Definition at line 596 of file tin.h.

◆ PATHMASTER

#define PATHMASTER   "not-for-mail"

Definition at line 601 of file tin.h.

◆ PIPELINE_LIMIT

#define PIPELINE_LIMIT   45

Definition at line 2527 of file tin.h.

◆ PLURAL

#define PLURAL (   x,
 
)    ((x == 1) ? _(y##_singular) : _(y##_plural))

Definition at line 1064 of file tin.h.

◆ POST_PROC_NO

#define POST_PROC_NO   0

Definition at line 1177 of file tin.h.

◆ POST_PROC_SHAR

#define POST_PROC_SHAR   1

Definition at line 1178 of file tin.h.

◆ POST_PROC_YES

#define POST_PROC_YES   2

Definition at line 1179 of file tin.h.

◆ POSTED_FILE

#define POSTED_FILE   "posted"

Definition at line 743 of file tin.h.

◆ POSTED_LEVEL

#define POSTED_LEVEL   11

Definition at line 1122 of file tin.h.

◆ POSTED_NONE

#define POSTED_NONE   0 /* Article wasn't posted */

Definition at line 1241 of file tin.h.

◆ POSTED_OK

#define POSTED_OK   2 /* posted normally */

Definition at line 1243 of file tin.h.

◆ POSTED_REDRAW

#define POSTED_REDRAW   1 /* redraw needed in any case */

Definition at line 1242 of file tin.h.

◆ POSTPONED_FILE

#define POSTPONED_FILE   "postponed.articles"

Definition at line 744 of file tin.h.

◆ QUOTE_COMPRESS

#define QUOTE_COMPRESS   1 /* Compress quotes */

Definition at line 1224 of file tin.h.

◆ QUOTE_EMPTY

#define QUOTE_EMPTY   4 /* Quote empty lines */

Definition at line 1226 of file tin.h.

◆ QUOTE_SIGS

#define QUOTE_SIGS   2 /* Quote signatures */

Definition at line 1225 of file tin.h.

◆ R_OK

#define R_OK   4 /* Test for Read permission */

Definition at line 2227 of file tin.h.

◆ RCDIR

#define RCDIR   ".tin"

Definition at line 625 of file tin.h.

◆ REDIRECT_OUTPUT

#define REDIRECT_OUTPUT   "> /dev/null 2>&1"

Definition at line 2164 of file tin.h.

◆ REDIRECT_PGP_OUTPUT

#define REDIRECT_PGP_OUTPUT   "> /dev/null"

Definition at line 2165 of file tin.h.

◆ REF_REF

#define REF_REF   1 /* Add a ref->ref entry */

Definition at line 1480 of file tin.h.

◆ REGEX_FMT

#define REGEX_FMT   (tinrc.wildcard ? "%s" : "*%s*")

Definition at line 1027 of file tin.h.

◆ REREAD_ACTIVE_FILE_SECS

#define REREAD_ACTIVE_FILE_SECS   1200 /* seconds (20 mins) */

Definition at line 607 of file tin.h.

◆ RETSIGTYPE

#define RETSIGTYPE   void

Definition at line 2122 of file tin.h.

◆ S_IFMT

#define S_IFMT   0xF000 /* type of file */

Definition at line 2202 of file tin.h.

◆ S_IFREG

#define S_IFREG   0x8000 /* regular */

Definition at line 2205 of file tin.h.

◆ S_IRGRP

#define S_IRGRP   0000040 /* read permission (group) */

Definition at line 2190 of file tin.h.

◆ S_IROTH

#define S_IROTH   0000004 /* read permission (other) */

Definition at line 2195 of file tin.h.

◆ S_IRUGO

#define S_IRUGO   (S_IRUSR|S_IRGRP|S_IROTH) /* read permission (all) */

Definition at line 2210 of file tin.h.

◆ S_IRUSR

#define S_IRUSR   0000400 /* read permission (owner) */

Definition at line 2185 of file tin.h.

◆ S_IRWXG

#define S_IRWXG   0000070 /* read, write, execute permission (group) */

Definition at line 2189 of file tin.h.

◆ S_IRWXO

#define S_IRWXO   0000007 /* read, write, execute permission (other) */

Definition at line 2194 of file tin.h.

◆ S_IRWXU

#define S_IRWXU   0000700 /* read, write, execute permission (owner) */

Definition at line 2184 of file tin.h.

◆ S_IRWXUGO

#define S_IRWXUGO   (S_IRWXU|S_IRWXG|S_IRWXO) /* read, write, execute permission (all) */

Definition at line 2209 of file tin.h.

◆ S_ISDIR

#define S_ISDIR (   m)    (((m) & S_IFMT) == S_IFDIR)

Definition at line 2176 of file tin.h.

◆ S_ISREG

#define S_ISREG (   m)    (((m) & S_IFMT) == S_IFREG)

Definition at line 2180 of file tin.h.

◆ S_ISVTX

#define S_ISVTX   0

Definition at line 2216 of file tin.h.

◆ S_IWGRP

#define S_IWGRP   0000020 /* write permission (group) */

Definition at line 2191 of file tin.h.

◆ S_IWOTH

#define S_IWOTH   0000002 /* write permission (other) */

Definition at line 2196 of file tin.h.

◆ S_IWUGO

#define S_IWUGO   (S_IWUSR|S_IWGRP|S_IWOTH) /* write permission (all) */

Definition at line 2211 of file tin.h.

◆ S_IWUSR

#define S_IWUSR   0000200 /* write permission (owner) */

Definition at line 2186 of file tin.h.

◆ S_IXGRP

#define S_IXGRP   0000010 /* execute permission (group) */

Definition at line 2192 of file tin.h.

◆ S_IXOTH

#define S_IXOTH   0000001 /* execute permission (other) */

Definition at line 2197 of file tin.h.

◆ S_IXUGO

#define S_IXUGO   (S_IXUSR|S_IXGRP|S_IXOTH) /* execute permission (all) */

Definition at line 2212 of file tin.h.

◆ S_IXUSR

#define S_IXUSR   0000100 /* execute permission (owner) */

Definition at line 2187 of file tin.h.

◆ SAVE_ANY_NEWS

#define SAVE_ANY_NEWS   3

Definition at line 1235 of file tin.h.

◆ SAVEFILE_PREFIX

#define SAVEFILE_PREFIX   "unknown"

Definition at line 641 of file tin.h.

◆ SCOPE_LEVEL

#define SCOPE_LEVEL   6

Definition at line 1117 of file tin.h.

◆ SCORE_MAX

#define SCORE_MAX   10000

Definition at line 1376 of file tin.h.

◆ SECOND_CHARACTER_DELAY

#define SECOND_CHARACTER_DELAY   200

Definition at line 464 of file tin.h.

◆ SEEK_SET

#define SEEK_SET   0L

Definition at line 2512 of file tin.h.

◆ SELECT_LEVEL

#define SELECT_LEVEL   1

Definition at line 1112 of file tin.h.

◆ SERVERCONFIG_FILE

#define SERVERCONFIG_FILE   "serverrc"

Definition at line 636 of file tin.h.

◆ setlocale

#define setlocale (   Category,
  Locale 
)    /* empty */

Definition at line 78 of file tin.h.

◆ SETVBUF

#define SETVBUF (   stream,
  buf,
  mode,
  size 
)    setvbuf(stream, buf, mode, size)

Definition at line 2392 of file tin.h.

◆ SHAR_REGEX

#define SHAR_REGEX   "\\#(?:!\\s?(?:/usr)?/bin/sh|\\s?(?i)this\\sis\\sa\\sshell\\sarchive)"

Definition at line 689 of file tin.h.

◆ SHOW_FROM_ADDR

#define SHOW_FROM_ADDR   1

Definition at line 1154 of file tin.h.

◆ SHOW_FROM_BOTH

#define SHOW_FROM_BOTH   3

Definition at line 1156 of file tin.h.

◆ SHOW_FROM_NAME

#define SHOW_FROM_NAME   2

Definition at line 1155 of file tin.h.

◆ SHOW_FROM_NONE

#define SHOW_FROM_NONE   0

Definition at line 1153 of file tin.h.

◆ SIGDASHES

#define SIGDASHES   "-- \n"

Definition at line 749 of file tin.h.

◆ SKIP_LEADING

#define SKIP_LEADING   1

Definition at line 981 of file tin.h.

◆ SKIP_TRAILING

#define SKIP_TRAILING   2

Definition at line 982 of file tin.h.

◆ snprintf

#define snprintf   plp_snprintf

Definition at line 2464 of file tin.h.

◆ SORT_ARTICLES_BY_DATE_ASCEND

#define SORT_ARTICLES_BY_DATE_ASCEND   6

Definition at line 1191 of file tin.h.

◆ SORT_ARTICLES_BY_DATE_DESCEND

#define SORT_ARTICLES_BY_DATE_DESCEND   5

Definition at line 1190 of file tin.h.

◆ SORT_ARTICLES_BY_FROM_ASCEND

#define SORT_ARTICLES_BY_FROM_ASCEND   4

Definition at line 1189 of file tin.h.

◆ SORT_ARTICLES_BY_FROM_DESCEND

#define SORT_ARTICLES_BY_FROM_DESCEND   3

Definition at line 1188 of file tin.h.

◆ SORT_ARTICLES_BY_LINES_ASCEND

#define SORT_ARTICLES_BY_LINES_ASCEND   10

Definition at line 1195 of file tin.h.

◆ SORT_ARTICLES_BY_LINES_DESCEND

#define SORT_ARTICLES_BY_LINES_DESCEND   9

Definition at line 1194 of file tin.h.

◆ SORT_ARTICLES_BY_NOTHING

#define SORT_ARTICLES_BY_NOTHING   0

Definition at line 1185 of file tin.h.

◆ SORT_ARTICLES_BY_SCORE_ASCEND

#define SORT_ARTICLES_BY_SCORE_ASCEND   8

Definition at line 1193 of file tin.h.

◆ SORT_ARTICLES_BY_SCORE_DESCEND

#define SORT_ARTICLES_BY_SCORE_DESCEND   7

Definition at line 1192 of file tin.h.

◆ SORT_ARTICLES_BY_SUBJ_ASCEND

#define SORT_ARTICLES_BY_SUBJ_ASCEND   2

Definition at line 1187 of file tin.h.

◆ SORT_ARTICLES_BY_SUBJ_DESCEND

#define SORT_ARTICLES_BY_SUBJ_DESCEND   1

Definition at line 1186 of file tin.h.

◆ SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND

#define SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND   4

Definition at line 1205 of file tin.h.

◆ SORT_THREADS_BY_LAST_POSTING_DATE_DESCEND

#define SORT_THREADS_BY_LAST_POSTING_DATE_DESCEND   3

Definition at line 1204 of file tin.h.

◆ SORT_THREADS_BY_NOTHING

#define SORT_THREADS_BY_NOTHING   0

Definition at line 1201 of file tin.h.

◆ SORT_THREADS_BY_SCORE_ASCEND

#define SORT_THREADS_BY_SCORE_ASCEND   2

Definition at line 1203 of file tin.h.

◆ SORT_THREADS_BY_SCORE_DESCEND

#define SORT_THREADS_BY_SCORE_DESCEND   1

Definition at line 1202 of file tin.h.

◆ START_ANY_NEWS

#define START_ANY_NEWS   1

Definition at line 1233 of file tin.h.

◆ STDIN_FILENO

#define STDIN_FILENO   0

Definition at line 394 of file tin.h.

◆ STRCMPEQ

#define STRCMPEQ (   s1,
  s2 
)    (strcmp((s1), (s2)) == 0)

Definition at line 822 of file tin.h.

◆ STRCPY

#define STRCPY (   dst,
  src 
)    (dst[sizeof(dst) - 1] = '\0', strncpy(dst, src, sizeof(dst) - 1))

Definition at line 820 of file tin.h.

◆ STRNCASECMPEQ

#define STRNCASECMPEQ (   s1,
  s2,
 
)    (strncasecmp((s1), (s2), n) == 0)

Definition at line 824 of file tin.h.

◆ STRNCMPEQ

#define STRNCMPEQ (   s1,
  s2,
 
)    (strncmp((s1), (s2), n) == 0)

Definition at line 823 of file tin.h.

◆ strtoartnum

#define strtoartnum   strtol

Definition at line 234 of file tin.h.

◆ SUB_BOOL

#define SUB_BOOL (   x)    (x == SUBSCRIBED)

Definition at line 1371 of file tin.h.

◆ SUB_CHAR

#define SUB_CHAR (   x)    (x ? SUBSCRIBED : UNSUBSCRIBED)

Definition at line 1369 of file tin.h.

◆ SUBSCRIBED

#define SUBSCRIBED   ':'

Definition at line 1366 of file tin.h.

◆ SUBSCRIPTIONS_FILE

#define SUBSCRIPTIONS_FILE   "subscriptions"

Definition at line 745 of file tin.h.

◆ T_ARTNUM_CONST

#define T_ARTNUM_CONST (   v)    v ## L

Definition at line 232 of file tin.h.

◆ T_ARTNUM_PFMT

#define T_ARTNUM_PFMT   "ld"

Definition at line 230 of file tin.h.

◆ T_ARTNUM_SFMT

#define T_ARTNUM_SFMT   "ld"

Definition at line 231 of file tin.h.

◆ T_CHAR_FMT

#define T_CHAR_FMT   "c"

Definition at line 884 of file tin.h.

◆ TABLE_SIZE

#define TABLE_SIZE   1409

Definition at line 866 of file tin.h.

◆ textdomain

#define textdomain (   Domain)    /* empty */

Definition at line 93 of file tin.h.

◆ THREAD_BOTH

#define THREAD_BOTH   3

Definition at line 1142 of file tin.h.

◆ THREAD_LEVEL

#define THREAD_LEVEL   3

Definition at line 1114 of file tin.h.

◆ THREAD_MAX

#define THREAD_MAX   THREAD_PERC

Definition at line 1146 of file tin.h.

◆ THREAD_MULTI

#define THREAD_MULTI   4

Definition at line 1143 of file tin.h.

◆ THREAD_NONE

#define THREAD_NONE   0

Definition at line 1139 of file tin.h.

◆ THREAD_PERC

#define THREAD_PERC   5

Definition at line 1144 of file tin.h.

◆ THREAD_PERC_DEFAULT

#define THREAD_PERC_DEFAULT   75

Definition at line 1148 of file tin.h.

◆ THREAD_REFS

#define THREAD_REFS   2

Definition at line 1141 of file tin.h.

◆ THREAD_SCORE_MAX

#define THREAD_SCORE_MAX   0

Definition at line 1161 of file tin.h.

◆ THREAD_SCORE_SUM

#define THREAD_SCORE_SUM   1

Definition at line 1162 of file tin.h.

◆ THREAD_SCORE_WEIGHT

#define THREAD_SCORE_WEIGHT   2

Definition at line 1163 of file tin.h.

◆ THREAD_SUBJ

#define THREAD_SUBJ   1

Definition at line 1140 of file tin.h.

◆ TIN_ABORT

#define TIN_ABORT   1 /* User requested abort or timeout */

Definition at line 956 of file tin.h.

◆ TIN_ARTICLE_NAME

#define TIN_ARTICLE_NAME   ".article"

Definition at line 2520 of file tin.h.

◆ TIN_BUGREPORT_NAME

#define TIN_BUGREPORT_NAME   ".bugreport"

Definition at line 2523 of file tin.h.

◆ TIN_CANCEL_NAME

#define TIN_CANCEL_NAME   ".cancel"

Definition at line 2521 of file tin.h.

◆ TIN_DEFAULTS

#define TIN_DEFAULTS   TIN_DEFAULTS_BUILTIN

Definition at line 2368 of file tin.h.

◆ TIN_DEFAULTS_BUILTIN

#define TIN_DEFAULTS_BUILTIN   "/etc/opt/tin","/etc/tin","/etc","/usr/local/lib/tin","/usr/local/lib","/usr/local/etc/tin","/usr/local/etc","/usr/lib/tin","/usr/lib",NULL

Definition at line 2364 of file tin.h.

◆ TIN_EDITOR_FMT

#define TIN_EDITOR_FMT   "%E +%N %F"

Definition at line 2168 of file tin.h.

◆ TIN_FCLOSE

#define TIN_FCLOSE (   x)    fclose(x)

Definition at line 1048 of file tin.h.

◆ TIN_LETTER_NAME

#define TIN_LETTER_NAME   ".letter"

Definition at line 2522 of file tin.h.

◆ tin_sort

#define tin_sort   qsort

Definition at line 2148 of file tin.h.

◆ TINRC_CONFIRM_ACTION

#define TINRC_CONFIRM_ACTION   (tinrc.confirm_choice == 1 || tinrc.confirm_choice == 4 || tinrc.confirm_choice == 5 || tinrc.confirm_choice == 7)

Definition at line 958 of file tin.h.

◆ TINRC_CONFIRM_MAX

#define TINRC_CONFIRM_MAX   7

Definition at line 961 of file tin.h.

◆ TINRC_CONFIRM_SELECT

#define TINRC_CONFIRM_SELECT   (tinrc.confirm_choice == 2 || tinrc.confirm_choice == 5 || tinrc.confirm_choice == 6 || tinrc.confirm_choice == 7)

Definition at line 960 of file tin.h.

◆ TINRC_CONFIRM_TO_QUIT

#define TINRC_CONFIRM_TO_QUIT   (tinrc.confirm_choice == 3 || tinrc.confirm_choice == 4 || tinrc.confirm_choice == 6 || tinrc.confirm_choice == 7)

Definition at line 959 of file tin.h.

◆ TMPDIR

#define TMPDIR   get_val("TMPDIR", _PATH_TMP)

Definition at line 2170 of file tin.h.

◆ TREE_ARROW

#define TREE_ARROW   '>'

Definition at line 938 of file tin.h.

◆ TREE_ARROW_WRAP

#define TREE_ARROW_WRAP   '>'

Definition at line 939 of file tin.h.

◆ TREE_BLANK

#define TREE_BLANK   ' '

Definition at line 940 of file tin.h.

◆ TREE_HORIZ

#define TREE_HORIZ   '-'

Definition at line 941 of file tin.h.

◆ TREE_UP_RIGHT

#define TREE_UP_RIGHT   '`'

Definition at line 942 of file tin.h.

◆ TREE_VERT

#define TREE_VERT   '|'

Definition at line 943 of file tin.h.

◆ TREE_VERT_RIGHT

#define TREE_VERT_RIGHT   '+'

Definition at line 944 of file tin.h.

◆ unlink

#define unlink (   file)    remove(file)

Definition at line 387 of file tin.h.

◆ UNREAD_GROUP

#define UNREAD_GROUP (   i)    (!active[my_group[i]].bogus && active[my_group[i]].newsrc.num_unread > 0)

Definition at line 1059 of file tin.h.

◆ UNSUBSCRIBED

#define UNSUBSCRIBED   '!'

Definition at line 1365 of file tin.h.

◆ UNUSED

#define UNUSED (   x)    x

Definition at line 2478 of file tin.h.

◆ URL_LEVEL

#define URL_LEVEL   10

Definition at line 1121 of file tin.h.

◆ URL_REGEX

#define URL_REGEX   "\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:(?:[^\\W_](?:(?:-|[^\\W_]){0,61}(?<!---)[^\\W_])?|xn--[^\\W_](?:-(?!-)|[^\\W_]){1,57}[^\\W_])\\.)+[a-z]{2,14}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)|\\[(?:(?:[0-9A-F]{0,4}:){1,7}[0-9A-F]{1,4}|(?:[0-9A-F]{0,4}:){1,3}(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))\\])(?::\\d+)?(?(?=[^\\‍)\\]\>\"\\s]*\\‍()(?:/[^\\]\>\"\\s]*|$|(?=[)\\]\>\"\\s]))|(?:/[^)\\]\>\"\\s]*|$|(?=[)\\]\>\"\\s])))"

Definition at line 709 of file tin.h.

◆ UUBEGIN_REGEX

#define UUBEGIN_REGEX   "begin\\s\\s?[0-7]{3,4}\\s+"

Definition at line 684 of file tin.h.

◆ UUBODY_REGEX

#define UUBODY_REGEX   "(?:`|.[\\x20-\\x60]{1,61})$"

Definition at line 686 of file tin.h.

◆ UUE_ALL

#define UUE_ALL   2 /* Hide uue data harder */

Definition at line 1251 of file tin.h.

◆ UUE_NO

#define UUE_NO   0 /* Don't hide uue data */

Definition at line 1249 of file tin.h.

◆ UUE_YES

#define UUE_YES   1 /* Hide uue data */

Definition at line 1250 of file tin.h.

◆ vsnprintf

#define vsnprintf   plp_vsnprintf

Definition at line 2467 of file tin.h.

◆ VT_ESCAPE_TIMEOUT

#define VT_ESCAPE_TIMEOUT   1

Definition at line 469 of file tin.h.

◆ W_OK

#define W_OK   2 /* Test for Write permission */

Definition at line 2230 of file tin.h.

◆ WEXITSTATUS

#define WEXITSTATUS (   status)    ((int) (((status) >> 8) & 0xFF))

Definition at line 330 of file tin.h.

◆ WIFEXITED

#define WIFEXITED (   status)    ((int) (((status) & 0xFF) == 0))

Definition at line 334 of file tin.h.

◆ X_OK

#define X_OK   1 /* Test for eXecute permission */

Definition at line 2233 of file tin.h.

Typedef Documentation

◆ BodyPtr

typedef void(* BodyPtr) (char *, FILE *, int)

Definition at line 2327 of file tin.h.

◆ constext

typedef const char constext

Definition at line 2018 of file tin.h.

◆ nl_item

typedef int nl_item

Definition at line 773 of file tin.h.

◆ OutcPtr

typedef void(* OutcPtr) (int c)

Definition at line 2311 of file tin.h.

◆ t_artnum

typedef long t_artnum

Definition at line 229 of file tin.h.

◆ t_bitmap

typedef unsigned char t_bitmap

Definition at line 1475 of file tin.h.

◆ t_compfunc

typedef int(* t_compfunc) (t_comptype, t_comptype)

Definition at line 2141 of file tin.h.

◆ t_posted

typedef struct posted t_posted

◆ t_sortfunc

typedef void(* t_sortfunc) (void *, size_t, size_t, t_compfunc)

Definition at line 2142 of file tin.h.

◆ t_url

typedef struct urllist t_url

◆ TCP

typedef FILE TCP

Definition at line 2312 of file tin.h.

◆ TIMEINFO

typedef struct _TIMEINFO TIMEINFO

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MIME_ENCODING_8BIT 
MIME_ENCODING_BASE64 
MIME_ENCODING_QP 
MIME_ENCODING_7BIT 

Definition at line 988 of file tin.h.

◆ anonymous enum

anonymous enum
Enumerator
INTERACTIVE_NONE 
INTERACTIVE_WITH_HEADERS 
INTERACTIVE_WITHOUT_HEADERS 

Definition at line 1168 of file tin.h.

◆ anonymous enum

anonymous enum
Enumerator
LOOKUP_OK 
LOOKUP_FAILED 
LOOKUP_QUIT 
LOOKUP_UNAVAIL 
LOOKUP_REPLY 
LOOKUP_ART_UNAVAIL 
LOOKUP_NO_LAST 

Definition at line 1266 of file tin.h.

◆ anonymous enum

anonymous enum
Enumerator
GRP_RETSELECT 
GRP_QUIT 
GRP_NEXTUNREAD 
GRP_NEXT 
GRP_ARTUNAVAIL 
GRP_ARTABORT 
GRP_KILLED 
GRP_GOTOTHREAD 
GRP_ENTER 
GRP_EXIT 

Definition at line 1284 of file tin.h.

◆ context

enum context
Enumerator
cMain 
cArt 
cAttachment 
cAttrib 
cConfig 
cFilter 
cGroup 
cInfopager 
cPage 
cPOSTED 
cPost 
cPostCancel 
cPostFup 
cReconnect 
cScope 
cSelect 
cThread 
cURL 

Definition at line 107 of file tin.h.

◆ icontext

enum icontext
Enumerator
cNone 
cGetline 
cPromptCONT 
cPromptSLK 
cPromptYN 

Definition at line 108 of file tin.h.

◆ quote_enum

enum quote_enum
Enumerator
no_quote 
dbl_quote 
sgl_quote 

Definition at line 1256 of file tin.h.

◆ rc_state

enum rc_state
Enumerator
RC_IGNORE 
RC_UPGRADE 
RC_DOWNGRADE 
RC_ERROR 

Definition at line 110 of file tin.h.

◆ resizer

enum resizer
Enumerator
cNo 
cYes 
cRedraw 

Definition at line 109 of file tin.h.