tin  2.4.4
About: TIN is a threaded NNTP and spool based UseNet newsreader.
  Fossies Dox: tin-2.4.4.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_archive
 
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  t_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 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 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 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   50
 
#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 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 MSGID_HASH_SIZE   2609
 
#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_OFF   "%E %F"
 
#define TIN_EDITOR_FMT_ON   "%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))
 
#define my_calloc(nmemb, size)   my_calloc1(__FILE__, __LINE__, (nmemb), (size))
 
#define my_realloc(ptr, size)   my_realloc1(__FILE__, __LINE__, (ptr), (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 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 _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, cHelp,
  cInfopager, cPage, 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  {
  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
}
 

Variables

const typedef char constext
 

Macro Definition Documentation

◆ _

#define _ (   Text)    Text

Definition at line 94 of file tin.h.

◆ _CDECL

#define _CDECL

Definition at line 2094 of file tin.h.

◆ _PATH_TMP

#define _PATH_TMP   "/tmp/"

Definition at line 401 of file tin.h.

◆ ACTIVE_FILE

#define ACTIVE_FILE   "active"

Definition at line 624 of file tin.h.

◆ ACTIVE_MAIL_FILE

#define ACTIVE_MAIL_FILE   "active.mail"

Definition at line 625 of file tin.h.

◆ ACTIVE_SAVE_FILE

#define ACTIVE_SAVE_FILE   "active.save"

Definition at line 626 of file tin.h.

◆ ACTIVE_TIMES_FILE

#define ACTIVE_TIMES_FILE   "active.times"

Definition at line 627 of file tin.h.

◆ ARRAY_SIZE

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

Definition at line 2201 of file tin.h.

◆ ART_ABORT

#define ART_ABORT   -2

Definition at line 1335 of file tin.h.

◆ ART_EXPIRED

#define ART_EXPIRED   -2

Definition at line 1310 of file tin.h.

◆ ART_KILLED

#define ART_KILLED   1

Definition at line 1329 of file tin.h.

◆ ART_KILLED_UNREAD

#define ART_KILLED_UNREAD   2

Definition at line 1330 of file tin.h.

◆ ART_MARK_DELETED

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

Definition at line 897 of file tin.h.

◆ ART_MARK_KILLED

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

Definition at line 894 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 888 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 891 of file tin.h.

◆ ART_MARK_RECENT

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

Definition at line 885 of file tin.h.

◆ ART_MARK_RETURN

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

Definition at line 879 of file tin.h.

◆ ART_MARK_SELECTED

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

Definition at line 882 of file tin.h.

◆ ART_MARK_UNREAD

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

Definition at line 876 of file tin.h.

◆ ART_NORMAL

#define ART_NORMAL   -1

Definition at line 1315 of file tin.h.

◆ ART_NOTKILLED

#define ART_NOTKILLED   0

Definition at line 1328 of file tin.h.

◆ ART_READ

#define ART_READ   0

Definition at line 1320 of file tin.h.

◆ ART_UNAVAILABLE

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

Definition at line 1323 of file tin.h.

◆ ART_UNREAD

#define ART_UNREAD   1

Definition at line 1321 of file tin.h.

◆ ART_UNTHREADED

#define ART_UNTHREADED   -1

Definition at line 1309 of file tin.h.

◆ ART_WILL_RETURN

#define ART_WILL_RETURN   2

Definition at line 1322 of file tin.h.

◆ assert

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

Definition at line 1295 of file tin.h.

◆ atoartnum

#define atoartnum   atol

Definition at line 230 of file tin.h.

◆ ATTACHMENT_LEVEL

#define ATTACHMENT_LEVEL   9

Definition at line 1109 of file tin.h.

◆ ATTRIB_LEVEL

#define ATTRIB_LEVEL   8

Definition at line 1108 of file tin.h.

◆ ATTRIBUTES_FILE

#define ATTRIBUTES_FILE   "attributes"

Definition at line 628 of file tin.h.

◆ AUTO_BCC

#define AUTO_BCC   2

Definition at line 956 of file tin.h.

◆ AUTO_CC

#define AUTO_CC   1

Definition at line 955 of file tin.h.

◆ AUTO_CC_BCC

#define AUTO_CC_BCC   3

Definition at line 957 of file tin.h.

◆ begin_va_copy

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

Definition at line 2408 of file tin.h.

◆ bindtextdomain

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

Definition at line 91 of file tin.h.

◆ BLANK_PAGE_COLS

#define BLANK_PAGE_COLS   0

Definition at line 939 of file tin.h.

◆ BlankIfNull

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

Definition at line 2206 of file tin.h.

◆ BOGUS_KEEP

#define BOGUS_KEEP   0 /* not used */

Definition at line 1198 of file tin.h.

◆ BOGUS_REMOVE

#define BOGUS_REMOVE   1

Definition at line 1199 of file tin.h.

◆ BOGUS_SHOW

#define BOGUS_SHOW   2

Definition at line 1200 of file tin.h.

◆ CHECK_ANY_NEWS

#define CHECK_ANY_NEWS   0

Definition at line 1220 of file tin.h.

◆ CLOSEDIR

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

Definition at line 2355 of file tin.h.

◆ CMDLINE_GETART_LIMIT

#define CMDLINE_GETART_LIMIT   1

Definition at line 1091 of file tin.h.

◆ CMDLINE_MAILDIR

#define CMDLINE_MAILDIR   2

Definition at line 1092 of file tin.h.

◆ CMDLINE_NNTPSERVER

#define CMDLINE_NNTPSERVER   4

Definition at line 1093 of file tin.h.

◆ CMDLINE_SAVEDIR

#define CMDLINE_SAVEDIR   8

Definition at line 1094 of file tin.h.

◆ CMDLINE_USE_COLOR

#define CMDLINE_USE_COLOR   16

Definition at line 1095 of file tin.h.

◆ CODESET

#define CODESET   ((nl_item) 1)

Definition at line 770 of file tin.h.

◆ COMPACT_MULTIPLE

#define COMPACT_MULTIPLE   4

Definition at line 972 of file tin.h.

◆ CONFIG_FILE

#define CONFIG_FILE   "tinrc"

Definition at line 629 of file tin.h.

◆ CONFIG_LEVEL

#define CONFIG_LEVEL   7

Definition at line 1107 of file tin.h.

◆ ctrl

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

Definition at line 866 of file tin.h.

◆ CURR_GROUP

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

Definition at line 1043 of file tin.h.

◆ DAY

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

Definition at line 864 of file tin.h.

◆ DEFAULT_ACTIVE_NUM

#define DEFAULT_ACTIVE_NUM   1800

Definition at line 614 of file tin.h.

◆ DEFAULT_ARTICLE_NUM

#define DEFAULT_ARTICLE_NUM   1200

Definition at line 611 of file tin.h.

◆ DEFAULT_COMMENT

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

Definition at line 873 of file tin.h.

◆ DEFAULT_DATE_FORMAT

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

Definition at line 1376 of file tin.h.

◆ DEFAULT_EDITOR

#define DEFAULT_EDITOR   "/usr/bin/vi"

Definition at line 548 of file tin.h.

◆ DEFAULT_EXTQUOTE_REGEX

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

Definition at line 690 of file tin.h.

◆ DEFAULT_FILTER_DAYS

#define DEFAULT_FILTER_DAYS   28

Definition at line 1304 of file tin.h.

◆ DEFAULT_GROUP_FORMAT

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

Definition at line 1374 of file tin.h.

◆ DEFAULT_ISO2ASC

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

Definition at line 869 of file tin.h.

◆ DEFAULT_MAILBOX

#define DEFAULT_MAILBOX   "/usr/spool/mail"

Definition at line 554 of file tin.h.

◆ DEFAULT_MAILDIR

#define DEFAULT_MAILDIR   "Mail"

Definition at line 631 of file tin.h.

◆ DEFAULT_MAILER

#define DEFAULT_MAILER   "/usr/lib/sendmail"

Definition at line 551 of file tin.h.

◆ DEFAULT_MAPKEYS_NUM

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

Definition at line 616 of file tin.h.

◆ DEFAULT_NEWNEWS_NUM

#define DEFAULT_NEWNEWS_NUM   5

Definition at line 615 of file tin.h.

◆ DEFAULT_PRINTER

#define DEFAULT_PRINTER   "/usr/bin/lp"

Definition at line 537 of file tin.h.

◆ DEFAULT_SAVE_NUM

#define DEFAULT_SAVE_NUM   30

Definition at line 612 of file tin.h.

◆ DEFAULT_SAVEDIR

#define DEFAULT_SAVEDIR   "News"

Definition at line 632 of file tin.h.

◆ DEFAULT_SCOPE_NUM

#define DEFAULT_SCOPE_NUM   8

Definition at line 617 of file tin.h.

◆ DEFAULT_SELECT_FORMAT

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

Definition at line 1373 of file tin.h.

◆ DEFAULT_SLASHES_REGEX

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

Definition at line 661 of file tin.h.

◆ DEFAULT_STARS_REGEX

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

Definition at line 662 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 668 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 670 of file tin.h.

◆ DEFAULT_STROKES_REGEX

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

Definition at line 664 of file tin.h.

◆ DEFAULT_SUM

#define DEFAULT_SUM   "sum -r"

Definition at line 540 of file tin.h.

◆ DEFAULT_THREAD_FORMAT

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

Definition at line 1375 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 671 of file tin.h.

◆ DEFAULT_UNDERSCORES_REGEX

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

Definition at line 663 of file tin.h.

◆ DEFAULT_URL_HANDLER

#define DEFAULT_URL_HANDLER   "url_handler.pl"

Definition at line 633 of file tin.h.

◆ DEFAULT_VERBATIM_BEGIN_REGEX

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

Definition at line 686 of file tin.h.

◆ DEFAULT_VERBATIM_END_REGEX

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

Definition at line 687 of file tin.h.

◆ DIR_BUF

#define DIR_BUF   struct dirent

Definition at line 380 of file tin.h.

◆ dirent

#define dirent   direct

Definition at line 366 of file tin.h.

◆ DIRSEP

#define DIRSEP   '/'

Definition at line 2104 of file tin.h.

◆ EIGHT_BIT

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

Definition at line 2218 of file tin.h.

◆ end_va_copy

#define end_va_copy (   dst)    /* nothing */

Definition at line 2409 of file tin.h.

◆ ENV_VAR_MAILER

#define ENV_VAR_MAILER   "MAILER"

Definition at line 2116 of file tin.h.

◆ ENV_VAR_SHELL

#define ENV_VAR_SHELL   "SHELL"

Definition at line 2117 of file tin.h.

◆ EOF

#define EOF   -1

Definition at line 2445 of file tin.h.

◆ ESC

#define ESC   27

Definition at line 1299 of file tin.h.

◆ EXIT_FAILURE

#define EXIT_FAILURE   1 /* Failing exit status */

Definition at line 1277 of file tin.h.

◆ EXIT_SUCCESS

#define EXIT_SUCCESS   0 /* Successful exit status */

Definition at line 1273 of file tin.h.

◆ F_OK

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

Definition at line 2187 of file tin.h.

◆ FAKE_NNTP_FP

#define FAKE_NNTP_FP   (FILE *) 9999

Definition at line 455 of file tin.h.

◆ FEED_AUTOSAVE

#define FEED_AUTOSAVE   5

Definition at line 1118 of file tin.h.

◆ FEED_MAIL

#define FEED_MAIL   1

Definition at line 1114 of file tin.h.

◆ FEED_MARK_READ

#define FEED_MARK_READ   7

Definition at line 1120 of file tin.h.

◆ FEED_MARK_UNREAD

#define FEED_MARK_UNREAD   8

Definition at line 1121 of file tin.h.

◆ FEED_PIPE

#define FEED_PIPE   2

Definition at line 1115 of file tin.h.

◆ FEED_PRINT

#define FEED_PRINT   3

Definition at line 1116 of file tin.h.

◆ FEED_REPOST

#define FEED_REPOST   6

Definition at line 1119 of file tin.h.

◆ FEED_SAVE

#define FEED_SAVE   4

Definition at line 1117 of file tin.h.

◆ FILTER_FILE

#define FILTER_FILE   "filter"

Definition at line 723 of file tin.h.

◆ FILTER_FROM_CASE_IGNORE

#define FILTER_FROM_CASE_IGNORE   3

Definition at line 1356 of file tin.h.

◆ FILTER_FROM_CASE_SENSITIVE

#define FILTER_FROM_CASE_SENSITIVE   2

Definition at line 1355 of file tin.h.

◆ FILTER_LINES

#define FILTER_LINES   8

Definition at line 1361 of file tin.h.

◆ FILTER_LINES_EQ

#define FILTER_LINES_EQ   1

Definition at line 1364 of file tin.h.

◆ FILTER_LINES_GT

#define FILTER_LINES_GT   3

Definition at line 1366 of file tin.h.

◆ FILTER_LINES_LT

#define FILTER_LINES_LT   2

Definition at line 1365 of file tin.h.

◆ FILTER_LINES_NO

#define FILTER_LINES_NO   0

Definition at line 1363 of file tin.h.

◆ FILTER_MSGID

#define FILTER_MSGID   4

Definition at line 1357 of file tin.h.

◆ FILTER_MSGID_LAST

#define FILTER_MSGID_LAST   5

Definition at line 1358 of file tin.h.

◆ FILTER_MSGID_ONLY

#define FILTER_MSGID_ONLY   6

Definition at line 1359 of file tin.h.

◆ FILTER_REFS_ONLY

#define FILTER_REFS_ONLY   7

Definition at line 1360 of file tin.h.

◆ FILTER_SUBJ_CASE_IGNORE

#define FILTER_SUBJ_CASE_IGNORE   1

Definition at line 1354 of file tin.h.

◆ FILTER_SUBJ_CASE_SENSITIVE

#define FILTER_SUBJ_CASE_SENSITIVE   0

Definition at line 1353 of file tin.h.

◆ for_each_art

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

Definition at line 2211 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 2212 of file tin.h.

◆ for_each_group

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

Definition at line 2210 of file tin.h.

◆ forever

#define forever   for(;;)

Definition at line 810 of file tin.h.

◆ FreeAndNull

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

Definition at line 2204 of file tin.h.

◆ FreeIfNeeded

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

Definition at line 2203 of file tin.h.

◆ GOTO_NEXT_UNREAD_PGDN

#define GOTO_NEXT_UNREAD_PGDN   1

Definition at line 963 of file tin.h.

◆ GOTO_NEXT_UNREAD_TAB

#define GOTO_NEXT_UNREAD_TAB   2

Definition at line 964 of file tin.h.

◆ GROUP_LEVEL

#define GROUP_LEVEL   2

Definition at line 1102 of file tin.h.

◆ GROUP_MATCH

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

Definition at line 1014 of file tin.h.

◆ GROUP_TYPE_MAIL

#define GROUP_TYPE_MAIL   0

Definition at line 1058 of file tin.h.

◆ GROUP_TYPE_NEWS

#define GROUP_TYPE_NEWS   1

Definition at line 1059 of file tin.h.

◆ GROUP_TYPE_SAVE

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

Definition at line 1060 of file tin.h.

◆ HAS_FOLLOWUPS

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

Definition at line 1029 of file tin.h.

◆ HEADER_LEN

#define HEADER_LEN   1024

Definition at line 857 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 1018 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 1020 of file tin.h.

◆ IMF_LINE_LEN

#define IMF_LINE_LEN   998 /* RFC 5322 2.1.1 */

Definition at line 858 of file tin.h.

◆ INDEX2LNUM

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

Definition at line 1009 of file tin.h.

◆ INDEX2SNUM

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

Definition at line 1011 of file tin.h.

◆ INDEX_LOCK

#define INDEX_LOCK   "%s.LCK"

Definition at line 594 of file tin.h.

◆ INDEX_MAILDIR

#define INDEX_MAILDIR   ".mail"

Definition at line 620 of file tin.h.

◆ INDEX_NEWSDIR

#define INDEX_NEWSDIR   ".news"

Definition at line 621 of file tin.h.

◆ INDEX_SAVEDIR

#define INDEX_SAVEDIR   ".save"

Definition at line 622 of file tin.h.

◆ INDEX_TOP

#define INDEX_TOP   2

Definition at line 1008 of file tin.h.

◆ INFO_PAGER

#define INFO_PAGER   5

Definition at line 1105 of file tin.h.

◆ INPUT_HISTORY_FILE

#define INPUT_HISTORY_FILE   ".inputhistory"

Definition at line 724 of file tin.h.

◆ INTERNAL_CMD

#define INTERNAL_CMD   "--internal"

Definition at line 571 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 2219 of file tin.h.

◆ IS_LOCAL_CHARSET

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

Definition at line 776 of file tin.h.

◆ IS_PLAINTEXT

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

Definition at line 1025 of file tin.h.

◆ isascii

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

Definition at line 408 of file tin.h.

◆ KEYMAP_DEL

#define KEYMAP_DEL   9

Definition at line 1074 of file tin.h.

◆ KEYMAP_DOWN

#define KEYMAP_DOWN   2

Definition at line 1067 of file tin.h.

◆ KEYMAP_END

#define KEYMAP_END   8

Definition at line 1073 of file tin.h.

◆ KEYMAP_FILE

#define KEYMAP_FILE   "keymap"

Definition at line 741 of file tin.h.

◆ KEYMAP_HOME

#define KEYMAP_HOME   7

Definition at line 1072 of file tin.h.

◆ KEYMAP_INS

#define KEYMAP_INS   10

Definition at line 1075 of file tin.h.

◆ KEYMAP_LEFT

#define KEYMAP_LEFT   3

Definition at line 1068 of file tin.h.

◆ KEYMAP_MOUSE

#define KEYMAP_MOUSE   11

Definition at line 1076 of file tin.h.

◆ KEYMAP_PAGE_DOWN

#define KEYMAP_PAGE_DOWN   6

Definition at line 1071 of file tin.h.

◆ KEYMAP_PAGE_UP

#define KEYMAP_PAGE_UP   5

Definition at line 1070 of file tin.h.

◆ KEYMAP_RIGHT

#define KEYMAP_RIGHT   4

Definition at line 1069 of file tin.h.

◆ KEYMAP_UNKNOWN

#define KEYMAP_UNKNOWN   0

Definition at line 1065 of file tin.h.

◆ KEYMAP_UP

#define KEYMAP_UP   1

Definition at line 1066 of file tin.h.

◆ KILL_NOTHREAD

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

Definition at line 1207 of file tin.h.

◆ KILL_THREAD

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

Definition at line 1206 of file tin.h.

◆ KILL_UNREAD

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

Definition at line 1205 of file tin.h.

◆ LEN

#define LEN   1024

Definition at line 854 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 1222 of file tin.h.

◆ MAIL_REGEX

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

Definition at line 708 of file tin.h.

◆ MAILER_FORMAT

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

Definition at line 2120 of file tin.h.

◆ MARK_INRANGE

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

Definition at line 900 of file tin.h.

◆ MAX

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

Definition at line 802 of file tin.h.

◆ MAX_ATTR

#define MAX_ATTR   6

Definition at line 998 of file tin.h.

◆ MAX_BACKCOLOR

#define MAX_BACKCOLOR   7

Definition at line 993 of file tin.h.

◆ MAX_COL

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

Definition at line 1447 of file tin.h.

◆ MAX_COLOR

#define MAX_COLOR   15

Definition at line 992 of file tin.h.

◆ MAX_MARK

#define MAX_MARK   2

Definition at line 1004 of file tin.h.

◆ MAX_SIG_LINES

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

Definition at line 1448 of file tin.h.

◆ METAMAIL_CMD

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

Definition at line 569 of file tin.h.

◆ MIN

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

Definition at line 805 of file tin.h.

◆ MIN_COLUMNS_ON_TERMINAL

#define MIN_COLUMNS_ON_TERMINAL   50

Definition at line 1085 of file tin.h.

◆ MIN_LINES_ON_TERMINAL

#define MIN_LINES_ON_TERMINAL   8

Definition at line 1084 of file tin.h.

◆ MINI_HELP_LINES

#define MINI_HELP_LINES   5

Definition at line 1112 of file tin.h.

◆ MM_CHARSET

#define MM_CHARSET   "US-ASCII"

Definition at line 2436 of file tin.h.

◆ MMDFHDRTXT

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

Definition at line 640 of file tin.h.

◆ MODULO_COUNT_NUM

#define MODULO_COUNT_NUM   50

Definition at line 862 of file tin.h.

◆ MOUSE_BUTTON_1

#define MOUSE_BUTTON_1   0

Definition at line 2109 of file tin.h.

◆ MOUSE_BUTTON_2

#define MOUSE_BUTTON_2   1

Definition at line 2110 of file tin.h.

◆ MOUSE_BUTTON_3

#define MOUSE_BUTTON_3   2

Definition at line 2111 of file tin.h.

◆ MSGID_HASH_SIZE

#define MSGID_HASH_SIZE   2609

Definition at line 1461 of file tin.h.

◆ MSGID_REF

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

Definition at line 1456 of file tin.h.

◆ my_calloc

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

Definition at line 2197 of file tin.h.

◆ my_group_add

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

Definition at line 2209 of file tin.h.

◆ my_group_find

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

Definition at line 2208 of file tin.h.

◆ my_malloc

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

Definition at line 2196 of file tin.h.

◆ my_realloc

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

Definition at line 2198 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 852 of file tin.h.

◆ NEWNEWSRC_FILE

#define NEWNEWSRC_FILE   ".newnewsrc"

Definition at line 731 of file tin.h.

◆ NEWS_AVAIL_EXIT

#define NEWS_AVAIL_EXIT   2

Definition at line 1280 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 713 of file tin.h.

◆ NEWSGROUPS_FILE

#define NEWSGROUPS_FILE   "newsgroups"

Definition at line 740 of file tin.h.

◆ NEWSRC_FILE

#define NEWSRC_FILE   ".newsrc"

Definition at line 728 of file tin.h.

◆ NEWSRC_LINE

#define NEWSRC_LINE   8192

Definition at line 856 of file tin.h.

◆ NEWSRCTABLE_FILE

#define NEWSRCTABLE_FILE   "newsrctable"

Definition at line 729 of file tin.h.

◆ NNTP_ERROR_EXIT

#define NNTP_ERROR_EXIT   3

Definition at line 1281 of file tin.h.

◆ NUM_GOTO_NEXT_UNREAD

#define NUM_GOTO_NEXT_UNREAD   4

Definition at line 962 of file tin.h.

◆ NUM_ISO_TABLES

#define NUM_ISO_TABLES   7

Definition at line 987 of file tin.h.

◆ NUM_TRIM_ARTICLE_BODY

#define NUM_TRIM_ARTICLE_BODY   8

Definition at line 969 of file tin.h.

◆ OLDNEWSRC_FILE

#define OLDNEWSRC_FILE   ".oldnewsrc"

Definition at line 732 of file tin.h.

◆ OUTC_ARGS

#define OUTC_ARGS   int c

Definition at line 2253 of file tin.h.

◆ OUTC_FUNCTION

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

Definition at line 2259 of file tin.h.

◆ OUTC_RETTYPE

#define OUTC_RETTYPE   void

Definition at line 2249 of file tin.h.

◆ OVERVIEW_FILE

#define OVERVIEW_FILE   ".overview"

Definition at line 734 of file tin.h.

◆ OVERVIEW_FMT

#define OVERVIEW_FMT   "overview.fmt"

Definition at line 736 of file tin.h.

◆ PAGE_LEVEL

#define PAGE_LEVEL   4

Definition at line 1104 of file tin.h.

◆ PATH_ISPELL

#define PATH_ISPELL   "ispell"

Definition at line 563 of file tin.h.

◆ PATH_LEN

#define PATH_LEN   255

Definition at line 837 of file tin.h.

◆ PATH_METAMAIL

#define PATH_METAMAIL   "metamail"

Definition at line 567 of file tin.h.

◆ PATH_PART

#define PATH_PART   ""

Definition at line 592 of file tin.h.

◆ PATH_PATCH

#define PATH_PATCH   "p"

Definition at line 593 of file tin.h.

◆ PIPELINE_LIMIT

#define PIPELINE_LIMIT   45

Definition at line 2456 of file tin.h.

◆ PLURAL

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

Definition at line 1053 of file tin.h.

◆ POST_PROC_NO

#define POST_PROC_NO   0

Definition at line 1165 of file tin.h.

◆ POST_PROC_SHAR

#define POST_PROC_SHAR   1

Definition at line 1166 of file tin.h.

◆ POST_PROC_YES

#define POST_PROC_YES   2

Definition at line 1167 of file tin.h.

◆ POSTED_FILE

#define POSTED_FILE   "posted"

Definition at line 737 of file tin.h.

◆ POSTED_NONE

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

Definition at line 1229 of file tin.h.

◆ POSTED_OK

#define POSTED_OK   2 /* posted normally */

Definition at line 1231 of file tin.h.

◆ POSTED_REDRAW

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

Definition at line 1230 of file tin.h.

◆ POSTPONED_FILE

#define POSTPONED_FILE   "postponed.articles"

Definition at line 738 of file tin.h.

◆ QUOTE_COMPRESS

#define QUOTE_COMPRESS   1 /* Compress quotes */

Definition at line 1212 of file tin.h.

◆ QUOTE_EMPTY

#define QUOTE_EMPTY   4 /* Quote empty lines */

Definition at line 1214 of file tin.h.

◆ QUOTE_SIGS

#define QUOTE_SIGS   2 /* Quote signatures */

Definition at line 1213 of file tin.h.

◆ R_OK

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

Definition at line 2178 of file tin.h.

◆ RCDIR

#define RCDIR   ".tin"

Definition at line 619 of file tin.h.

◆ REDIRECT_OUTPUT

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

Definition at line 2114 of file tin.h.

◆ REDIRECT_PGP_OUTPUT

#define REDIRECT_PGP_OUTPUT   "> /dev/null"

Definition at line 2115 of file tin.h.

◆ REF_REF

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

Definition at line 1455 of file tin.h.

◆ REGEX_FMT

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

Definition at line 1016 of file tin.h.

◆ REREAD_ACTIVE_FILE_SECS

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

Definition at line 601 of file tin.h.

◆ RETSIGTYPE

#define RETSIGTYPE   void

Definition at line 2072 of file tin.h.

◆ S_IFMT

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

Definition at line 2153 of file tin.h.

◆ S_IFREG

#define S_IFREG   0x8000 /* regular */

Definition at line 2156 of file tin.h.

◆ S_IRGRP

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

Definition at line 2141 of file tin.h.

◆ S_IROTH

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

Definition at line 2146 of file tin.h.

◆ S_IRUGO

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

Definition at line 2161 of file tin.h.

◆ S_IRUSR

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

Definition at line 2136 of file tin.h.

◆ S_IRWXG

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

Definition at line 2140 of file tin.h.

◆ S_IRWXO

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

Definition at line 2145 of file tin.h.

◆ S_IRWXU

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

Definition at line 2135 of file tin.h.

◆ S_IRWXUGO

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

Definition at line 2160 of file tin.h.

◆ S_ISDIR

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

Definition at line 2127 of file tin.h.

◆ S_ISREG

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

Definition at line 2131 of file tin.h.

◆ S_ISVTX

#define S_ISVTX   0

Definition at line 2167 of file tin.h.

◆ S_IWGRP

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

Definition at line 2142 of file tin.h.

◆ S_IWOTH

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

Definition at line 2147 of file tin.h.

◆ S_IWUGO

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

Definition at line 2162 of file tin.h.

◆ S_IWUSR

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

Definition at line 2137 of file tin.h.

◆ S_IXGRP

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

Definition at line 2143 of file tin.h.

◆ S_IXOTH

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

Definition at line 2148 of file tin.h.

◆ S_IXUGO

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

Definition at line 2163 of file tin.h.

◆ S_IXUSR

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

Definition at line 2138 of file tin.h.

◆ SAVE_ANY_NEWS

#define SAVE_ANY_NEWS   3

Definition at line 1223 of file tin.h.

◆ SAVEFILE_PREFIX

#define SAVEFILE_PREFIX   "unknown"

Definition at line 635 of file tin.h.

◆ SCOPE_LEVEL

#define SCOPE_LEVEL   6

Definition at line 1106 of file tin.h.

◆ SCORE_MAX

#define SCORE_MAX   10000

Definition at line 1351 of file tin.h.

◆ SECOND_CHARACTER_DELAY

#define SECOND_CHARACTER_DELAY   200

Definition at line 461 of file tin.h.

◆ SEEK_SET

#define SEEK_SET   0L

Definition at line 2441 of file tin.h.

◆ SELECT_LEVEL

#define SELECT_LEVEL   1

Definition at line 1101 of file tin.h.

◆ SERVERCONFIG_FILE

#define SERVERCONFIG_FILE   "serverrc"

Definition at line 630 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 2349 of file tin.h.

◆ SHAR_REGEX

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

Definition at line 683 of file tin.h.

◆ SHOW_FROM_ADDR

#define SHOW_FROM_ADDR   1

Definition at line 1142 of file tin.h.

◆ SHOW_FROM_BOTH

#define SHOW_FROM_BOTH   3

Definition at line 1144 of file tin.h.

◆ SHOW_FROM_NAME

#define SHOW_FROM_NAME   2

Definition at line 1143 of file tin.h.

◆ SHOW_FROM_NONE

#define SHOW_FROM_NONE   0

Definition at line 1141 of file tin.h.

◆ SIGDASHES

#define SIGDASHES   "-- \n"

Definition at line 743 of file tin.h.

◆ SKIP_LEADING

#define SKIP_LEADING   1

Definition at line 970 of file tin.h.

◆ SKIP_TRAILING

#define SKIP_TRAILING   2

Definition at line 971 of file tin.h.

◆ snprintf

#define snprintf   plp_snprintf

Definition at line 2417 of file tin.h.

◆ SORT_ARTICLES_BY_DATE_ASCEND

#define SORT_ARTICLES_BY_DATE_ASCEND   6

Definition at line 1179 of file tin.h.

◆ SORT_ARTICLES_BY_DATE_DESCEND

#define SORT_ARTICLES_BY_DATE_DESCEND   5

Definition at line 1178 of file tin.h.

◆ SORT_ARTICLES_BY_FROM_ASCEND

#define SORT_ARTICLES_BY_FROM_ASCEND   4

Definition at line 1177 of file tin.h.

◆ SORT_ARTICLES_BY_FROM_DESCEND

#define SORT_ARTICLES_BY_FROM_DESCEND   3

Definition at line 1176 of file tin.h.

◆ SORT_ARTICLES_BY_LINES_ASCEND

#define SORT_ARTICLES_BY_LINES_ASCEND   10

Definition at line 1183 of file tin.h.

◆ SORT_ARTICLES_BY_LINES_DESCEND

#define SORT_ARTICLES_BY_LINES_DESCEND   9

Definition at line 1182 of file tin.h.

◆ SORT_ARTICLES_BY_NOTHING

#define SORT_ARTICLES_BY_NOTHING   0

Definition at line 1173 of file tin.h.

◆ SORT_ARTICLES_BY_SCORE_ASCEND

#define SORT_ARTICLES_BY_SCORE_ASCEND   8

Definition at line 1181 of file tin.h.

◆ SORT_ARTICLES_BY_SCORE_DESCEND

#define SORT_ARTICLES_BY_SCORE_DESCEND   7

Definition at line 1180 of file tin.h.

◆ SORT_ARTICLES_BY_SUBJ_ASCEND

#define SORT_ARTICLES_BY_SUBJ_ASCEND   2

Definition at line 1175 of file tin.h.

◆ SORT_ARTICLES_BY_SUBJ_DESCEND

#define SORT_ARTICLES_BY_SUBJ_DESCEND   1

Definition at line 1174 of file tin.h.

◆ SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND

#define SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND   4

Definition at line 1193 of file tin.h.

◆ SORT_THREADS_BY_LAST_POSTING_DATE_DESCEND

#define SORT_THREADS_BY_LAST_POSTING_DATE_DESCEND   3

Definition at line 1192 of file tin.h.

◆ SORT_THREADS_BY_NOTHING

#define SORT_THREADS_BY_NOTHING   0

Definition at line 1189 of file tin.h.

◆ SORT_THREADS_BY_SCORE_ASCEND

#define SORT_THREADS_BY_SCORE_ASCEND   2

Definition at line 1191 of file tin.h.

◆ SORT_THREADS_BY_SCORE_DESCEND

#define SORT_THREADS_BY_SCORE_DESCEND   1

Definition at line 1190 of file tin.h.

◆ START_ANY_NEWS

#define START_ANY_NEWS   1

Definition at line 1221 of file tin.h.

◆ STDIN_FILENO

#define STDIN_FILENO   0

Definition at line 391 of file tin.h.

◆ STRCMPEQ

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

Definition at line 816 of file tin.h.

◆ STRCPY

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

Definition at line 814 of file tin.h.

◆ STRNCASECMPEQ

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

Definition at line 818 of file tin.h.

◆ STRNCMPEQ

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

Definition at line 817 of file tin.h.

◆ strtoartnum

#define strtoartnum   strtol

Definition at line 231 of file tin.h.

◆ SUB_BOOL

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

Definition at line 1346 of file tin.h.

◆ SUB_CHAR

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

Definition at line 1344 of file tin.h.

◆ SUBSCRIBED

#define SUBSCRIBED   ':'

Definition at line 1341 of file tin.h.

◆ SUBSCRIPTIONS_FILE

#define SUBSCRIPTIONS_FILE   "subscriptions"

Definition at line 739 of file tin.h.

◆ T_ARTNUM_CONST

#define T_ARTNUM_CONST (   v)    v ## L

Definition at line 229 of file tin.h.

◆ T_ARTNUM_PFMT

#define T_ARTNUM_PFMT   "ld"

Definition at line 227 of file tin.h.

◆ T_ARTNUM_SFMT

#define T_ARTNUM_SFMT   "ld"

Definition at line 228 of file tin.h.

◆ TABLE_SIZE

#define TABLE_SIZE   1409

Definition at line 860 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 1130 of file tin.h.

◆ THREAD_LEVEL

#define THREAD_LEVEL   3

Definition at line 1103 of file tin.h.

◆ THREAD_MAX

#define THREAD_MAX   THREAD_PERC

Definition at line 1134 of file tin.h.

◆ THREAD_MULTI

#define THREAD_MULTI   4

Definition at line 1131 of file tin.h.

◆ THREAD_NONE

#define THREAD_NONE   0

Definition at line 1127 of file tin.h.

◆ THREAD_PERC

#define THREAD_PERC   5

Definition at line 1132 of file tin.h.

◆ THREAD_PERC_DEFAULT

#define THREAD_PERC_DEFAULT   75

Definition at line 1136 of file tin.h.

◆ THREAD_REFS

#define THREAD_REFS   2

Definition at line 1129 of file tin.h.

◆ THREAD_SCORE_MAX

#define THREAD_SCORE_MAX   0

Definition at line 1149 of file tin.h.

◆ THREAD_SCORE_SUM

#define THREAD_SCORE_SUM   1

Definition at line 1150 of file tin.h.

◆ THREAD_SCORE_WEIGHT

#define THREAD_SCORE_WEIGHT   2

Definition at line 1151 of file tin.h.

◆ THREAD_SUBJ

#define THREAD_SUBJ   1

Definition at line 1128 of file tin.h.

◆ TIN_ABORT

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

Definition at line 945 of file tin.h.

◆ TIN_ARTICLE_NAME

#define TIN_ARTICLE_NAME   ".article"

Definition at line 2449 of file tin.h.

◆ TIN_BUGREPORT_NAME

#define TIN_BUGREPORT_NAME   ".bugreport"

Definition at line 2452 of file tin.h.

◆ TIN_CANCEL_NAME

#define TIN_CANCEL_NAME   ".cancel"

Definition at line 2450 of file tin.h.

◆ TIN_DEFAULTS

#define TIN_DEFAULTS   TIN_DEFAULTS_BUILTIN

Definition at line 2325 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 2321 of file tin.h.

◆ TIN_EDITOR_FMT_OFF

#define TIN_EDITOR_FMT_OFF   "%E %F"

Definition at line 2118 of file tin.h.

◆ TIN_EDITOR_FMT_ON

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

Definition at line 2119 of file tin.h.

◆ TIN_FCLOSE

#define TIN_FCLOSE (   x)    fclose(x)

Definition at line 1037 of file tin.h.

◆ TIN_LETTER_NAME

#define TIN_LETTER_NAME   ".letter"

Definition at line 2451 of file tin.h.

◆ tin_sort

#define tin_sort   qsort

Definition at line 2098 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 947 of file tin.h.

◆ TINRC_CONFIRM_MAX

#define TINRC_CONFIRM_MAX   7

Definition at line 950 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 949 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 948 of file tin.h.

◆ TMPDIR

#define TMPDIR   get_val("TMPDIR", _PATH_TMP)

Definition at line 2121 of file tin.h.

◆ TREE_ARROW

#define TREE_ARROW   '>'

Definition at line 927 of file tin.h.

◆ TREE_ARROW_WRAP

#define TREE_ARROW_WRAP   '>'

Definition at line 928 of file tin.h.

◆ TREE_BLANK

#define TREE_BLANK   ' '

Definition at line 929 of file tin.h.

◆ TREE_HORIZ

#define TREE_HORIZ   '-'

Definition at line 930 of file tin.h.

◆ TREE_UP_RIGHT

#define TREE_UP_RIGHT   '`'

Definition at line 931 of file tin.h.

◆ TREE_VERT

#define TREE_VERT   '|'

Definition at line 932 of file tin.h.

◆ TREE_VERT_RIGHT

#define TREE_VERT_RIGHT   '+'

Definition at line 933 of file tin.h.

◆ unlink

#define unlink (   file)    remove(file)

Definition at line 384 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 1048 of file tin.h.

◆ UNSUBSCRIBED

#define UNSUBSCRIBED   '!'

Definition at line 1340 of file tin.h.

◆ UNUSED

#define UNUSED (   x)    x

Definition at line 2431 of file tin.h.

◆ URL_LEVEL

#define URL_LEVEL   10

Definition at line 1110 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 703 of file tin.h.

◆ UUBEGIN_REGEX

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

Definition at line 678 of file tin.h.

◆ UUBODY_REGEX

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

Definition at line 680 of file tin.h.

◆ UUE_ALL

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

Definition at line 1239 of file tin.h.

◆ UUE_NO

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

Definition at line 1237 of file tin.h.

◆ UUE_YES

#define UUE_YES   1 /* Hide uue data */

Definition at line 1238 of file tin.h.

◆ vsnprintf

#define vsnprintf   plp_vsnprintf

Definition at line 2420 of file tin.h.

◆ VT_ESCAPE_TIMEOUT

#define VT_ESCAPE_TIMEOUT   1

Definition at line 466 of file tin.h.

◆ W_OK

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

Definition at line 2181 of file tin.h.

◆ WEXITSTATUS

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

Definition at line 327 of file tin.h.

◆ WIFEXITED

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

Definition at line 331 of file tin.h.

◆ X_OK

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

Definition at line 2184 of file tin.h.

Typedef Documentation

◆ BodyPtr

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

Definition at line 2284 of file tin.h.

◆ nl_item

typedef int nl_item

Definition at line 767 of file tin.h.

◆ OutcPtr

typedef void(* OutcPtr) (int c)

Definition at line 2262 of file tin.h.

◆ t_artnum

typedef long t_artnum

Definition at line 226 of file tin.h.

◆ t_bitmap

typedef unsigned char t_bitmap

Definition at line 1450 of file tin.h.

◆ t_compfunc

typedef int(* t_compfunc) (t_comptype, t_comptype)

Definition at line 2091 of file tin.h.

◆ t_sortfunc

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

Definition at line 2092 of file tin.h.

◆ t_url

typedef struct urllist t_url

◆ TCP

typedef FILE TCP

Definition at line 2263 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 977 of file tin.h.

◆ anonymous enum

anonymous enum
Enumerator
INTERACTIVE_NONE 
INTERACTIVE_WITH_HEADERS 
INTERACTIVE_WITHOUT_HEADERS 

Definition at line 1156 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 1259 of file tin.h.

◆ context

enum context
Enumerator
cMain 
cArt 
cAttachment 
cAttrib 
cConfig 
cFilter 
cGroup 
cHelp 
cInfopager 
cPage 
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 1244 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.

Variable Documentation

◆ constext

const typedef char constext