kconfig/nconf.h
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Sep 07 01:22:37 2011 +0200 (2011-09-07)
changeset 2653 e5fc5c9ea78a
permissions -rw-r--r--
scripts: fix sysroot prefix dir

The sysroot prefix dir was broken in #4960f5d9f829 due to a mishap
when making the out-of-sysroot lib/ symlink: the './' was mistakenly
changed into a single '.' .

Although Jonathan suggested restoring the missing '/' to restore it to
normal operation, I prefered using an explicit pushd/popd to be extra
sure of the symlink location and target, along with a fix in the sysroot
relative directory calculation.

Reported-by: Jonathan Grundon <JGrundon@xos.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@2454
     1
/*
yann@2454
     2
 * Copyright (C) 2008 Nir Tzachar <nir.tzachar@gmail.com?
yann@2454
     3
 * Released under the terms of the GNU GPL v2.0.
yann@2454
     4
 *
yann@2454
     5
 * Derived from menuconfig.
yann@2454
     6
 *
yann@2454
     7
 */
yann@2454
     8
yann@2454
     9
#include <ctype.h>
yann@2454
    10
#include <errno.h>
yann@2454
    11
#include <fcntl.h>
yann@2454
    12
#include <limits.h>
yann@2454
    13
#include <stdarg.h>
yann@2454
    14
#include <stdlib.h>
yann@2454
    15
#include <string.h>
yann@2454
    16
#include <unistd.h>
yann@2454
    17
#include <locale.h>
yann@2454
    18
#include <curses.h>
yann@2454
    19
#include <menu.h>
yann@2454
    20
#include <panel.h>
yann@2454
    21
#include <form.h>
yann@2454
    22
yann@2454
    23
#include <stdio.h>
yann@2454
    24
#include <time.h>
yann@2454
    25
#include <sys/time.h>
yann@2454
    26
yann@2454
    27
#include "ncurses.h"
yann@2454
    28
yann@2454
    29
#define max(a, b) ({\
yann@2454
    30
		typeof(a) _a = a;\
yann@2454
    31
		typeof(b) _b = b;\
yann@2454
    32
		_a > _b ? _a : _b; })
yann@2454
    33
yann@2454
    34
#define min(a, b) ({\
yann@2454
    35
		typeof(a) _a = a;\
yann@2454
    36
		typeof(b) _b = b;\
yann@2454
    37
		_a < _b ? _a : _b; })
yann@2454
    38
yann@2454
    39
typedef enum {
yann@2454
    40
	NORMAL = 1,
yann@2454
    41
	MAIN_HEADING,
yann@2454
    42
	MAIN_MENU_BOX,
yann@2454
    43
	MAIN_MENU_FORE,
yann@2454
    44
	MAIN_MENU_BACK,
yann@2454
    45
	MAIN_MENU_GREY,
yann@2454
    46
	MAIN_MENU_HEADING,
yann@2454
    47
	SCROLLWIN_TEXT,
yann@2454
    48
	SCROLLWIN_HEADING,
yann@2454
    49
	SCROLLWIN_BOX,
yann@2454
    50
	DIALOG_TEXT,
yann@2454
    51
	DIALOG_MENU_FORE,
yann@2454
    52
	DIALOG_MENU_BACK,
yann@2454
    53
	DIALOG_BOX,
yann@2454
    54
	INPUT_BOX,
yann@2454
    55
	INPUT_HEADING,
yann@2454
    56
	INPUT_TEXT,
yann@2454
    57
	INPUT_FIELD,
yann@2454
    58
	FUNCTION_TEXT,
yann@2454
    59
	FUNCTION_HIGHLIGHT,
yann@2454
    60
	ATTR_MAX
yann@2454
    61
} attributes_t;
yann@2454
    62
extern attributes_t attributes[];
yann@2454
    63
yann@2454
    64
typedef enum {
yann@2454
    65
	F_HELP = 1,
yann@2454
    66
	F_SYMBOL = 2,
yann@2454
    67
	F_INSTS = 3,
yann@2454
    68
	F_CONF = 4,
yann@2454
    69
	F_BACK = 5,
yann@2454
    70
	F_SAVE = 6,
yann@2454
    71
	F_LOAD = 7,
yann@2454
    72
	F_SEARCH = 8,
yann@2454
    73
	F_EXIT = 9,
yann@2454
    74
} function_key;
yann@2454
    75
yann@2454
    76
void set_colors(void);
yann@2454
    77
yann@2454
    78
/* this changes the windows attributes !!! */
yann@2454
    79
void print_in_middle(WINDOW *win,
yann@2454
    80
		int starty,
yann@2454
    81
		int startx,
yann@2454
    82
		int width,
yann@2454
    83
		const char *string,
yann@2454
    84
		chtype color);
yann@2454
    85
int get_line_length(const char *line);
yann@2454
    86
int get_line_no(const char *text);
yann@2454
    87
const char *get_line(const char *text, int line_no);
yann@2454
    88
void fill_window(WINDOW *win, const char *text);
yann@2454
    89
int btn_dialog(WINDOW *main_window, const char *msg, int btn_num, ...);
yann@2454
    90
int dialog_inputbox(WINDOW *main_window,
yann@2454
    91
		const char *title, const char *prompt,
yann@2454
    92
		const char *init, char *result, int result_len);
yann@2454
    93
void refresh_all_windows(WINDOW *main_window);
yann@2454
    94
void show_scroll_win(WINDOW *main_window,
yann@2454
    95
		const char *title,
yann@2454
    96
		const char *text);