--- freem/src/mpsdef0.h 2025/01/19 02:04:04 1.1 +++ freem/src/mpsdef0.h 2025/03/24 01:47:38 1.11 @@ -1,23 +1,11 @@ /* - * * - * * * - * * * - * *************** - * * * * * - * * MUMPS * - * * * * * - * *************** - * * * - * * * - * * - * - * mpsdef0.h + * $Id: mpsdef0.h,v 1.11 2025/03/24 01:47:38 snw Exp $ * common constants definitions for all mumps modules * * - * Author: Serena Willis + * Author: Serena Willis * Copyright (C) 1998 MUG Deutschland - * Copyright (C) 2020, 2023 Coherent Logic Development LLC + * Copyright (C) 2020, 2023, 2025 Coherent Logic Development LLC * * * This file is part of FreeM. @@ -35,8 +23,28 @@ * You should have received a copy of the GNU Affero Public License * along with FreeM. If not, see . * + * $Log: mpsdef0.h,v $ + * Revision 1.11 2025/03/24 01:47:38 snw + * Make symtab action defines more portable + * + * Revision 1.10 2025/03/24 01:35:23 snw + * Make symtab action defines more portable + * + * Revision 1.9 2025/03/22 22:52:24 snw + * Add STRLEN_GBL macro to manage global string length + * + * Revision 1.8 2025/03/22 18:43:54 snw + * Make STRLEN 255 chars and add BIGSTR macro for larger buffers + * + * Revision 1.7 2025/03/09 19:50:47 snw + * Second phase of REUSE compliance and header reformat + * + * + * SPDX-FileCopyrightText: (C) 2025 Coherent Logic Development LLC + * SPDX-License-Identifier: AGPL-3.0-or-later **/ +/*#pragma GCC diagnostic ignored "-Wformat-contains-nul"*/ #ifdef HAVE_CONFIG_H # include @@ -149,7 +157,9 @@ #define ARGS_IN_ESC 5 /* maximum length of a string, 0 <= $L() <= 255 */ -#define STRLEN 65535 +#define STRLEN 255 +#define STRLEN_GBL 252 +#define BIGSTR 65535 /* length of $ZTRAP variable */ #define ZTLEN 20 @@ -272,7 +282,7 @@ #define kill_sym 2 #define kill_all 4 #define killexcl 6 -#define new_sym 8 +#define new_sym 8 #define new_all 10 #define newexcl 12 #define killone 14 @@ -281,15 +291,20 @@ #define lock_dec 26 #define lock_old 28 -#define get_sym 1 -#define dat 3 -#define fra_order 5 -#define fra_query 7 +#define get_sym 1 +#if !defined(__OS2--) +# define dat 3 +#else +const int dat = 3; +#endif + +#define fra_order 5 +#define fra_query 7 #define bigquery 9 -#define getinc 11 +#define getinc 11 #define getnext 13 #define m_alias 15 -#define zdata 17 +#define zdata 17 /* sets 8th bit in A */ #define SETBIT(A) ((A)|0200) @@ -352,10 +367,8 @@ void unnew (void); /* functions from expr.c */ void expr (short extyp); -void zsyntax (); -void zdate (); -void ztime (); -void zkey (); +void zsyntax (char *a); +void zkey (char *a, long type); short is_horolog(char *s); /* functions from ssvn.c */ @@ -425,22 +438,24 @@ void ssvn_routine_date(void); /* functions from symtab_dispatch.c */ void symtab (short action, char *key, char *data); -short int collate (); -short int numeric (); -short int comp (); -void intstr (); -void lintstr (); -void udfsvn (); -long getpmore (); -long getumore (); -long getrmore (); -short int getnewmore (); + +/* functions from symtab_bltin.c */ +short int collate (char *s, char *t); +short int numeric (char *str); +short int comp (char *s, char *t); +void intstr (char *str, short integ); +void lintstr (char * str, long integ); +void udfsvn (short action, char *key, char *data); +long getpmore (void); +long getumore (void); +long getrmore (void); +short int getnewmore (void); /* functions from init.c */ void reset_terminal(void); /* functions from symtab_bltin.c */ -void symtab_init (); +void symtab_init (void); short symtab_get_sem(void); void symtab_release_sem(void); void symtab_shm (short action, char *key, char *data); @@ -455,40 +470,33 @@ void close_all_globals (); void global_bltin (short action, char *key, char *data); void gbl_dump_stat (void); -/* functions from global_bdb.c */ -void global_bdb (short action, char *key, char *data); -void frm_bdb_gbl_session_dump(void); -void frm_bdb_flush_all(void); -void frm_bdb_close_all(void); - /* functions from operator.c */ -short int pattern (); -void pminmax (); -void add (); -void mul (); -void mdiv (); -void power (); -void g_sqrt (); -int numlit (); -long intexpr (); -short int tvexpr (); -void m_op (); +short int pattern (char *a, char *b); +void pminmax (char *str, int *min, int *max); +void add (char *a, char *b); +void mul (char *a, char *b); +void mdiv (char *uu, char *v, short typ); +void power (char *a, char *b); +void g_sqrt (char *a); +void root (char *a, long n); +int numlit (char *str); +long intexpr (char *str); +short int tvexpr (char *str); +void m_op (char *a, char *b, short op); +void mround (char *a, int digits); /* functions from service.c */ -long int find (); -short int kill_ok (); -void lineref (); -void zi (); -void write_f (); -void writeHOME (); -void m_output (); -void write_m (); +long int find (char *string, char *pattern); +short int kill_ok (char *exceptions, char *); +void write_f (char *intext); +void writeHOME (char *text); +void m_output (char *text); +void write_m (char *text); void write_t (short int col); -void ontimo (); +void ontimo (void); void read_m (char *stuff, long read_timeout, short read_timeoutms, short length); -void hardcpf (); -int rdchk0 (); -int locking (); +int rdchk0 (int *data); +int locking (int fd, int action, long count); void set_io (short action); void set_break (short break_char); void set_zbreak (short quit_char); @@ -496,6 +504,8 @@ void lock (char *lockarg, long time_o /* functions from routine.c */ #include "routine.h" +void lineref (char **addr); +void zi (char *line, char *position); /* functions from strings.c */ long int stlen (const char *source); @@ -552,18 +562,18 @@ struct vtstyp { }; /* functions from views.c */ -void view_com (); -void view_fun (); -short int newpsize (); -short int newusize (); -short int newrsize (); -void zreplace (); -short int tstglvn (); -void zname (); -short int znamenumeric (); -void procv22 (); -void v25 (); -void m_tolower (); +void view_com (void); +void view_fun (int f, char *a); +short int newpsize (long size); +short int newusize (long size); +short int newrsize (long size, long nbrbuf); +void zreplace (char *a, char *b, char *c); +short int tstglvn (char *a); +void zname (char *a, char *b); +short int znamenumeric (char *str); +void procv22 (char *key); +void v25 (char *a, int i); +void m_tolower (char *str); void part_ref (struct vtstyp *scr, short from, short to); #define D_FREEM 0