mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-01 03:22:48 -05:00
Created new data types Filename' and
FontSpec', intended to be
opaque to all platform-independent modules and only handled within per-platform code. `Filename' is there because the Mac has a magic way to store filenames (though currently this checkin doesn't support it!); `FontSpec' is there so that all the auxiliary stuff such as font height and charset and so on which is needed under Windows but not Unix can be kept where it belongs, and so that I can have a hope in hell of dealing with a font chooser in the forthcoming cross-platform config box code, and best of all it gets the horrid font height wart out of settings.c and into the Windows code where it should be. The Mac part of this checkin is a bunch of random guesses which will probably not quite compile, but which look roughly right to me. Sorry if I screwed it up, Ben :-) [originally from svn r2765]
This commit is contained in:
35
putty.h
35
putty.h
@ -1,7 +1,6 @@
|
||||
#ifndef PUTTY_PUTTY_H
|
||||
#define PUTTY_PUTTY_H
|
||||
|
||||
#include <stdio.h> /* for FILENAME_MAX */
|
||||
#include <stddef.h> /* for wchar_t */
|
||||
|
||||
/*
|
||||
@ -26,6 +25,7 @@ typedef struct terminal_tag Terminal;
|
||||
|
||||
#include "puttyps.h"
|
||||
#include "network.h"
|
||||
#include "misc.h"
|
||||
|
||||
/* Three attribute types:
|
||||
* The ATTRs (normal attributes) are stored with the characters in
|
||||
@ -339,7 +339,7 @@ struct config_tag {
|
||||
int agentfwd;
|
||||
int change_username; /* allow username switching in SSH2 */
|
||||
int ssh_cipherlist[CIPHER_MAX];
|
||||
char keyfile[FILENAME_MAX];
|
||||
Filename keyfile;
|
||||
int sshprot; /* use v1 or v2 when both available */
|
||||
int ssh2_des_cbc; /* "des-cbc" nonstandard SSH2 cipher */
|
||||
int try_tis_auth;
|
||||
@ -396,7 +396,7 @@ struct config_tag {
|
||||
int bellovl_n; /* number of bells to cause overload */
|
||||
int bellovl_t; /* time interval for overload (seconds) */
|
||||
int bellovl_s; /* period of silence to re-enable bell (s) */
|
||||
char bell_wavefile[FILENAME_MAX];
|
||||
Filename bell_wavefile;
|
||||
int scrollbar;
|
||||
int scrollbar_in_fullscreen;
|
||||
int resize_action;
|
||||
@ -404,11 +404,8 @@ struct config_tag {
|
||||
int blinktext;
|
||||
int win_name_always;
|
||||
int width, height;
|
||||
char font[256];
|
||||
int fontisbold;
|
||||
int fontheight;
|
||||
int fontcharset;
|
||||
char logfilename[FILENAME_MAX];
|
||||
FontSpec font;
|
||||
Filename logfilename;
|
||||
int logtype;
|
||||
int logxfovr;
|
||||
int hide_mouseptr;
|
||||
@ -447,9 +444,9 @@ struct config_tag {
|
||||
int stamp_utmp;
|
||||
int login_shell;
|
||||
int scrollbar_on_left;
|
||||
char boldfont[256];
|
||||
char widefont[256];
|
||||
char wideboldfont[256];
|
||||
FontSpec boldfont;
|
||||
FontSpec widefont;
|
||||
FontSpec wideboldfont;
|
||||
int shadowboldoffset;
|
||||
};
|
||||
|
||||
@ -563,10 +560,14 @@ void registry_cleanup(void);
|
||||
* (The integer one is expected to return `def' if it has no clear
|
||||
* opinion of its own. This is because there's no integer value
|
||||
* which I can reliably set aside to indicate `nil'. The string
|
||||
* function is perfectly all right returning NULL, of course.)
|
||||
* function is perfectly all right returning NULL, of course. The
|
||||
* Filename and FontSpec functions are _not allowed_ to fail to
|
||||
* return, since these defaults _must_ be per-platform.)
|
||||
*/
|
||||
char *platform_default_s(const char *name);
|
||||
int platform_default_i(const char *name, int def);
|
||||
Filename platform_default_filename(const char *name);
|
||||
FontSpec platform_default_fontspec(const char *name);
|
||||
|
||||
/*
|
||||
* Exports from terminal.c.
|
||||
@ -740,7 +741,7 @@ void logevent(void *frontend, char *);
|
||||
void verify_ssh_host_key(void *frontend, char *host, int port, char *keytype,
|
||||
char *keystr, char *fingerprint);
|
||||
void askcipher(void *frontend, char *ciphername, int cs);
|
||||
int askappend(void *frontend, char *filename);
|
||||
int askappend(void *frontend, Filename filename);
|
||||
|
||||
/*
|
||||
* Exports from console.c (that aren't equivalents to things in
|
||||
@ -786,4 +787,12 @@ enum {
|
||||
};
|
||||
extern const char *const x11_authnames[]; /* declared in x11fwd.c */
|
||||
|
||||
/*
|
||||
* Miscellaneous exports from the platform-specific code.
|
||||
*/
|
||||
Filename filename_from_str(char *string);
|
||||
char *filename_to_str(Filename fn);
|
||||
int filename_equal(Filename f1, Filename f2);
|
||||
int filename_is_null(Filename fn);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user