/*1* Copyright (C) 1984-2025 Mark Nudelman2*3* You may distribute under the terms of either the GNU General Public4* License or the Less License, as specified in the README file.5*6* For more information, see the README file.7*/89#ifndef LESS_LANG_H_10#define LESS_LANG_H_ 11112/*13* C language details.14*/15#if HAVE_CONST16#define constant const17#else18#define constant19#endif2021/*22* mutable is the opposite of constant.23* It documents that a pointer parameter will be written through by the24* called function, more directly than by the mere absence of "constant".25*/26#define mutable2728#define public /* PUBLIC FUNCTION */2930#undef ptr_diff31#define ptr_diff(p1,p2) ((size_t) ((p1)-(p2)))32#undef countof33#define countof(a) ((int)(sizeof(a)/sizeof(*a)))3435#define size_t_null ((size_t)-1)3637#ifndef NULL38#define NULL 039#endif4041typedef enum lbool { LFALSE, LTRUE } lbool;4243#undef TRUE44#define TRUE LTRUE45#undef FALSE46#define FALSE LFALSE4748#ifdef _MSC_VER49#if _WIN6450typedef __int64 ssize_t;51#else52typedef __int32 ssize_t;53#endif54#endif5556#endif // LESS_LANG_H_575859