freebsd-skq/usr.bin/top/display.h
daichi 57bb1dff57 top(1): support multibyte characters in command names (ARGV array)
depending on locale.

 - add setlocale()
 - remove printable() function
 - add VIS_OCTAL and VIS_SAFE to the flag of strvisx() to display
   non-printable characters that do not use C-style backslash sequences
   in three digit octal sequence, or remove it

This change allows multibyte characters to be displayed according to
locale. If it is recognized as a non-display character according to the
locale, it is displayed in three digit octal sequence.

Reference:
https://www.mail-archive.com/svn-src-all@freebsd.org/msg165751.html
https://www.mail-archive.com/svn-src-all@freebsd.org/msg165766.html
https://www.mail-archive.com/svn-src-all@freebsd.org/msg165833.html
https://www.mail-archive.com/svn-src-all@freebsd.org/msg165846.html
https://www.mail-archive.com/svn-src-all@freebsd.org/msg165891.html

Submitted by: hrs
Differential Revision: https://reviews.freebsd.org/D16204
2019-09-20 17:37:23 +00:00

42 lines
1.2 KiB
C

/* $FreeBSD$ */
/* constants needed for display.c */
#define MT_standout 1
#define MT_delayed 2
#include <sys/time.h>
struct statics;
int display_updatecpus(struct statics *statics);
void clear_message(void);
int display_resize(void);
void i_header(const char *text);
void display_header(int t);
int display_init(struct statics *statics);
void i_arc(int *stats);
void i_carc(int *stats);
void i_cpustates(int *states);
void i_loadave(int mpid, double *avenrun);
void i_memory(int *stats);
void i_message(void);
void i_process(int line, char *thisline);
void i_procstates(int total, int *brkdn);
void i_swap(int *stats);
void i_timeofday(time_t *tod);
void i_uptime(struct timeval *bt, time_t *tod);
void new_message(int type, const char *msgfmt, ...);
int readline(char *buffer, int size, int numeric);
char *trim_header(const char *text);
void u_arc(int *stats);
void u_carc(int *stats);
void u_cpustates(int *states);
void u_endscreen(int hi);
void u_header(const char *text);
void u_loadave(int mpid, double *avenrun);
void u_memory(int *stats);
void u_message(void);
void u_process(int line, char *newline);
void u_procstates(int total, int *brkdn);
void u_swap(int *stats);
void z_cpustates(void);