File: bconsole.h

package info (click to toggle)
biew 5.6.2-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 4,000 kB
  • ctags: 7,157
  • sloc: ansic: 50,860; asm: 809; makefile: 396; pascal: 371
file content (160 lines) | stat: -rw-r--r-- 8,111 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
/**
 * @namespace   biew
 * @file        bconsole.h
 * @brief       This file included BIEW console functions description.
 * @version     -
 * @remark      this source file is part of Binary vIEW project (BIEW).
 *              The Binary vIEW (BIEW) is copyright (C) 1995 Nick Kurshev.
 *              All rights reserved. This software is redistributable under the
 *              licence given in the file "Licence.en" ("Licence.ru" in russian
 *              translation) distributed in the BIEW archive.
 * @note        Requires POSIX compatible development system
 *
 * @author      Nick Kurshev
 * @since       1995
 * @note        Development, fixes and improvements
**/
#ifndef __BCONSOLE__H
#define __BCONSOLE__H

#ifdef __cplusplus
extern "C" {
#endif

#ifndef __TWIN_H
#include "biewlib/twin.h"
#endif

extern TWindow *MainWnd,*HelpWnd,*TitleWnd,*CritErrWnd;

extern void         __FASTCALL__ initBConsole( unsigned long vio_flg,unsigned long twin_flg );
extern void         __FASTCALL__ termBConsole( void );
extern tBool        __FASTCALL__ IsKbdTerminate( void );
extern void         __FASTCALL__ CleanKbdTermSig( void );

typedef void (__FASTCALL__ * pagefunc)(TWindow *win,const void **__obj,unsigned i__obj,unsigned total_obj);

extern void         __FASTCALL__ CloseWnd(TWindow *w);
extern TWindow *    __FASTCALL__ CrtDlgWnd(const char *,tAbsCoord,tAbsCoord);
extern TWindow *    __FASTCALL__ CrtDlgWndnls(const char *,tAbsCoord,tAbsCoord);
extern TWindow *    __FASTCALL__ CrtMnuWnd(const char *,tAbsCoord,tAbsCoord,tAbsCoord,tAbsCoord);
extern TWindow *    __FASTCALL__ CrtMnuWndnls(const char *,tAbsCoord,tAbsCoord,tAbsCoord,tAbsCoord);
extern TWindow *    __FASTCALL__ CrtLstWnd(const char *,tAbsCoord,tAbsCoord);
extern TWindow *    __FASTCALL__ CrtLstWndnls(const char *,tAbsCoord,tAbsCoord);
extern TWindow *    __FASTCALL__ CrtHlpWnd(const char *,tAbsCoord,tAbsCoord);
extern TWindow *    __FASTCALL__ CrtHlpWndnls(const char *,tAbsCoord,tAbsCoord);
extern TWindow *    __FASTCALL__ CreateEditor(tAbsCoord X1,tAbsCoord Y1,tAbsCoord X2,tAbsCoord Y2,unsigned flags);
extern TWindow *    __FASTCALL__ WindowOpen(tAbsCoord X1,tAbsCoord Y1,tAbsCoord X2,tAbsCoord Y2,unsigned flags);
extern void         __FASTCALL__ DisplayBox(const char **names,unsigned nlist,const char *title);

/** Edit string styles */
#define __ESS_ENABLEINSERT 0x0001U /**< enable insert mode */
#define __ESS_HARDEDIT     0x0002U /**< inform, that editing within hard multiline
                                        editor without insert mode */
#define __ESS_WANTRETURN   0x0004U /**< return from routine after each pressed key
                                        need for contest depended painting. */
#define __ESS_ASHEX        0x0008U /**< worked, as hexadecimal editor, i.e. insert
                                        space on each third position */
#define __ESS_NOTUPDATELEN 0x0010U /**< if attr & __ESS_ASHEX procedure not will
                                        update field *maxlength on each return */
#define __ESS_FILLER_7BIT  0x0020U /**< Editor for Assemebler mode */
#define __ESS_NON_C_STR    0x0040U /**< Notify editor about non-C string */
#define __ESS_NOREDRAW     0x8000U /**< Force no redraw string */

/** Arguments for (x,e)editstring:
   s         - pointer to a buffer with editing strings
   legal     - pointer to a legal character set (all if NULL)
   maxlength - pointer to maximal possible length of string
               contains real length on return from routine
      y      - if __ESS_HARDEDIT y position within using window
               else if __ESS_NON_C - real length of
               string, i.e. enabled for input CHAR 0x00
      stx    - pointer to a x position within using window (0 - base)
               contains last x position on return
               if NULL position = 0
      attr   - attributes of the editor (See 'Edit string styles')
     undo    - if not NULL twUsedWin as UnDo buffer, i.e.
               restore contest on CtrlBkSpace
     func    - if not NULL then called to display prompt string
*/
extern int         __FASTCALL__ eeditstring(char *s,const char *legal,
					unsigned *maxlength, unsigned y,
					unsigned *stx,unsigned attr,char *undo,
					void (*func)(void));
extern int          __FASTCALL__ xeditstring(char *s,const char *legal,
					unsigned maxlength, void(*func)(void));
extern void         __FASTCALL__ ErrMessageBox(const char * text,const char * title);
extern void         __FASTCALL__ WarnMessageBox(const char * text,const char * title);
extern void         __FASTCALL__ errnoMessageBox(const char * text,const char * title,int __errno__);
extern void         __FASTCALL__ ListBox(const char ** names,unsigned nlist,const char * title);
extern void         __FASTCALL__ TMessageBox(const char * text,const char * title);
extern void         __FASTCALL__ NotifyBox(const char * text,const char * title);
extern int          __FASTCALL__ PageBox(unsigned width,unsigned height,const void ** __obj,
                                 unsigned nobj,pagefunc func);
extern void         __FASTCALL__ MemOutBox(const char *user_msg);
extern TWindow *    __FASTCALL__ PleaseWaitWnd( void );

extern tBool        __FASTCALL__ Get2DigitDlg(const char *title,const char *text,unsigned char *xx);
extern tBool        __FASTCALL__ Get8DigitDlg(const char *title,const char *text,char attr,
                                     unsigned long *xx);
extern tBool        __FASTCALL__ GetStringDlg(char * buff,const char * title,const char *subtitle,
                                     const char *prompt);

#define GJDLG_ABSOLUTE  0x00000000UL
#define GJDLG_RELATIVE  0x00000001UL
#define GJDLG_VIRTUAL   0x00000002UL

extern tBool        __FASTCALL__ GetJumpDlg( unsigned long * addr,unsigned long *flags);

#define FSDLG_BINMODE   0x00000000UL
#define FSDLG_ASMMODE   0x00000001UL
#define FSDLG_NOCOMMENT 0x00000000UL
#define FSDLG_COMMENT   0x00000002UL
#define FSDLG_STRUCTS   0x00000004UL
#define FSDLG_NOMODES   0x00000000UL
#define FSDLG_USEMODES  0x80000000UL

#define FSDLG_BTNSMASK  0x00000003UL /**< 0=8bit 1=16bit 2=32bit 3=64bit */
#define FSDLG_USEBITNS  0x40000000UL

extern tBool        __FASTCALL__ GetFStoreDlg(const char *title,char *fname,
                                     unsigned long *flags,
                                     unsigned long *start,
                                     unsigned long *end,
                                     const char *prompt);
extern tBool        __FASTCALL__ GetInsDelBlkDlg(const char *title,unsigned long *start,
                                        long *size);

#define LB_SELECTIVE 0x01U
#define LB_SORTABLE  0x02U
#define LB_USEACC    0x04U

#define LB_ORD_DELIMITER TWC_FL_BLK
extern int          __FASTCALL__ CommonListBox(const char ** names,unsigned nlist,const char *title,
                                      int acc,unsigned defsel);
extern int          __FASTCALL__ SelBox(const char ** names,unsigned nlist,const char * title,
                               unsigned defsel);
extern int          __FASTCALL__ SelBoxA(const char ** names,unsigned nlist,const char * title,
                                unsigned defsel);
extern int         __FASTCALL__ SelListBox(const char ** names,unsigned nlist,const char * title,
                                   unsigned defsel);

extern TWindow *    __FASTCALL__ PercentWnd(const char *text,const char *title);

                           /** return True - if can continue
                                     False -  if user want terminate process */
extern tBool        __FASTCALL__ ShowPercentInWnd(TWindow *prcntwnd,unsigned n);

extern int          __FASTCALL__ GetEvent(void (*)(void),int (*)(void),TWindow *);
extern void         __FASTCALL__ PostEvent(int kbdcode);

extern tBool __FASTCALL__ _lb_searchtext(const char *str,const char *tmpl,
                                         unsigned searchlen,const int *cache,
                                         unsigned flg);
extern void __FASTCALL__ __drawSinglePrompt(const char *prmt[]);

#ifdef __cplusplus
}
#endif

#endif