X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/a1b240a346fc825a4ae88e1374d342430e1e5b3f..5142ae8b113869c992aaffc136ad4afb985c1fd6:/h/prototypes.h diff --git a/h/prototypes.h b/h/prototypes.h index d56ef30c..97f0544e 100644 --- a/h/prototypes.h +++ b/h/prototypes.h @@ -6,18 +6,6 @@ * as much as practical. */ -/* - * missing system prototypes - */ -#if ! defined(HAVE_TERMCAP_H) && ! defined (HAVE_NCURSES_TERMCAP_H) - extern int tgetent (char *bp, char *name); - extern int tgetnum (char *id); - extern int tgetflag (char *id); - extern char *tgetstr (char *id, char **area); - extern char *tgoto (char *cm, int destcol, int destline); - extern int tputs (char *cp, int affcnt, int (*outc) (int)); -#endif - /* * prototype from config.h */ @@ -113,6 +101,58 @@ char *get_charset(void); char *getcpy (const char *); char *get_default_editor(void); char *getfolder(int); + +/* + * Get a string from the terminfo database for the current terminal. + * + * Retrieve the specified terminfo capability and return a string that + * can be output to the terminal. The string returned has already been + * processed by tputs(), so it is safe to output directly. The return + * value of this function is valid until the next call. + * + * Arguments: + * + * capability - The name of the terminfo capability (see terminfo(5)). + * + * Returns a tputs-processed string, or NULL if terminal initialization failed + * or the capability wasn't found. + */ +char *get_term_stringcap(char *capability); + +/* + * Get a parameterized string from the terminfo database for the current + * terminal. + * + * We don't yet have a standardized tparm() that will take a stdarg + * argument. Right now we don't want many parameters, so we only + * take two. Everything gets passed to tparm() as-is. If we need + * a capability with more arguments, we'll just add more later. + * + * Arguments: + * + * capability - The name of the terminfo capability (see terminfo(5)). + * arg1..argN - Arguments 1-N. + * + * Returns a tparm and tputs-processed string, or NULL if there was a problem + * initializating the terminal or retrieving the capability. + */ +char *get_term_stringparm(char *capability, long arg1, long arg2); + +/* + * Get a number from the terminfo database for the current terminal. + * + * Retrieve the specified terminfo capability and return the numeric + * value of that capability from the terminfo database. + * + * Arguments: + * + * capability - The name of the terminfo capability (see terminfo(5)). + * + * Returns the output of tigetnum() for that capability, or -1 if it was + * unable to initialize the terminfo database. + */ +int get_term_numcap(char *capability); + /* * Lock open/close routines. * @@ -154,6 +194,11 @@ char *m_mktemp2(const char *, const char *, int *, FILE **); void m_unknown(m_getfld_state_t *, FILE *); int makedir (char *); char *message_id (time_t, int); + +/* + * Clear the screen, using the appropriate entry from the terminfo database + */ +void nmh_clear_screen(void); char *nmh_getpass(const char *); char *norm_charmap(char *); char *new_fs (char *, char *, char *); @@ -280,7 +325,6 @@ char *SystemName(void); int annotate (char *, char *, char *, int, int, int, int); void annolist(char *, char *, char *, int); void annopreserve(int); -void clear_screen(void); void m_pclose(void); int make_intermediates(char *); int mhl(int, char **); @@ -301,6 +345,14 @@ int writeBase64aux(FILE *, FILE *); int writeBase64 (unsigned char *, size_t, unsigned char *); int writeBase64raw (unsigned char *, size_t, unsigned char *); +/* + * prototypes to support whatnow attach + */ +int attach(char *, char *, char *, size_t, char *, size_t, int); +void clean_up_temporary_files(const char *, const char *); +char *mime_type(const char *); +char *construct_build_directive(char *, const char *, int); + /* * credentials management */