Name Date Size #Lines LOC

..--

MakefileH A D16-Jul-2020346 2014

Makefile.m4H A D01-Feb-20242.1 KiB5348

READMEH A D01-Feb-20244.3 KiB13198

assert.cH A D16-Jul-20204.1 KiB18882

assert.htmlH A D19-Aug-201413.9 KiB360323

b-strcmp.cH A D19-Aug-20143.4 KiB153130

b-strl.cH A D01-Feb-20245 KiB203144

cdefs.htmlH A D19-Aug-20142.4 KiB10891

cf.cH A D15-Jan-20232 KiB10265

clock.cH A D15-Jan-202313.9 KiB642460

clrerr.cH A D19-Aug-2014872 4013

config.cH A D15-Jan-20234.5 KiB259175

debug.cH A D16-Jul-20208.9 KiB456222

debug.htmlH A D19-Aug-20147.7 KiB273238

errstring.cH A D16-Jul-20206 KiB286167

exc.cH A D16-Jul-202013.1 KiB652369

exc.htmlH A D01-Feb-202423.3 KiB758672

fclose.cH A D19-Aug-20143.1 KiB15082

feof.cH A D19-Aug-2014961 4313

ferror.cH A D19-Aug-2014932 4213

fflush.cH A D19-Aug-20143.1 KiB15375

fget.cH A D19-Aug-20142.4 KiB11459

findfp.cH A D16-Jul-202010.7 KiB421235

flags.cH A D16-Jul-20201.3 KiB6534

fopen.cH A D16-Jul-20208.3 KiB375177

fpos.cH A D16-Jul-20203.1 KiB15472

fprintf.cH A D19-Aug-20141.3 KiB5625

fpurge.cH A D19-Aug-20141.1 KiB5424

fput.cH A D19-Aug-20141.2 KiB5323

fread.cH A D19-Aug-20142.3 KiB10149

fscanf.cH A D16-Jul-20201.3 KiB5625

fseek.cH A D19-Aug-20147.2 KiB337199

fvwrite.cH A D19-Aug-20146.2 KiB280203

fvwrite.hH A D19-Aug-2014740 3112

fwalk.cH A D19-Aug-20141.4 KiB6234

fwrite.cH A D19-Aug-20141.5 KiB6830

gen.htmlH A D19-Aug-2014910 4432

get.cH A D19-Aug-20141.1 KiB4714

glue.hH A D19-Aug-2014731 286

heap.cH A D01-Feb-202417.7 KiB838516

heap.htmlH A D19-Aug-201413.1 KiB425358

ilenx.cH A D15-Jan-2023744 4118

index.htmlH A D19-Aug-20146 KiB175144

inet6_ntop.cH A D19-Aug-20141.1 KiB5933

io.htmlH A D01-Feb-202426.6 KiB747703

ldap.cH A D01-Feb-202437.1 KiB1,7041,219

local.hH A D16-Jul-20209.4 KiB298181

lowercase.cH A D01-Feb-20243.4 KiB196121

makebuf.cH A D15-Jan-20233.3 KiB15593

match.cH A D19-Aug-20142.8 KiB13894

mbdb.cH A D15-Jan-202316.5 KiB771465

memstat.cH A D15-Jan-20235.1 KiB337150

mpeix.cH A D01-Feb-202413.8 KiB647299

niprop.cH A D15-Jan-20234.7 KiB214117

notify.cH A D01-Feb-20243.4 KiB193105

notify.hH A D01-Feb-20242.7 KiB11294

put.cH A D19-Aug-20141.6 KiB8135

refill.cH A D15-Jan-20237.1 KiB304169

rewind.cH A D01-Feb-20241.1 KiB4516

rpool.cH A D15-Jan-202312 KiB552294

rpool.htmlH A D19-Aug-20146.1 KiB188169

sem.cH A D15-Jan-20234.6 KiB252146

setvbuf.cH A D01-Feb-20244.2 KiB192101

shm.cH A D15-Jan-20232.8 KiB14976

signal.cH A D15-Jan-20236.7 KiB341212

smstdio.cH A D19-Aug-20146.1 KiB364210

snprintf.cH A D19-Aug-20142.3 KiB8845

sscanf.cH A D03-Jun-20142.3 KiB10353

stdio.cH A D01-Feb-20249.7 KiB520300

strcasecmp.cH A D19-Aug-20143.1 KiB10775

strcaseeq.cH A D01-Feb-20241.8 KiB11572

strdup.cH A D16-Jul-20202.8 KiB16763

strerror.cH A D16-Jul-20201.3 KiB6127

strexit.cH A D19-Aug-20142.8 KiB12870

string.cH A D15-Jan-20231.3 KiB8543

stringf.cH A D15-Jan-20231.8 KiB8739

strio.cH A D16-Jul-20209.2 KiB491285

strl.cH A D19-Aug-20147.5 KiB325133

strrevcmp.cH A D19-Aug-20141.6 KiB10263

strto.cH A D16-Jul-20205.4 KiB255173

syslogio.cH A D16-Jul-20204.1 KiB22188

t-cf.cH A D19-Aug-2014934 4733

t-event.cH A D16-Jul-20201.8 KiB8959

t-exc.cH A D16-Jul-20202.7 KiB146113

t-fget.cH A D19-Aug-20141.7 KiB8765

t-float.cH A D19-Aug-20141.8 KiB7352

t-fopen.cH A D19-Aug-2014875 3925

t-heap.cH A D16-Jul-20201.3 KiB6546

t-inet6_ntop.cH A D19-Aug-20141.4 KiB7458

t-ixlen.cH A D01-Feb-20242.5 KiB152123

t-ixlen.shH A D15-Jan-2023683 4225

t-match.cH A D19-Aug-20141.1 KiB4832

t-memstat.cH A D19-Aug-20142.2 KiB11784

t-notify.cH A D01-Feb-20244.5 KiB262207

t-path.cH A D19-Aug-2014742 3621

t-qic.cH A D01-Feb-20246.1 KiB259222

t-rpool.cH A D19-Aug-20141.5 KiB7052

t-scanf.cH A D16-Jul-20201.4 KiB6042

t-sem.cH A D15-Jan-20235.9 KiB402322

t-shm.cH A D15-Jan-20234.4 KiB278199

t-smstdio.cH A D19-Aug-20141.5 KiB7643

t-str2prt.cH A D15-Jan-20231.4 KiB6549

t-streq.cH A D01-Feb-20241.7 KiB10076

t-streq.shH A D01-Feb-2024758 4928

t-string.cH A D19-Aug-2014968 4730

t-strio.cH A D19-Aug-2014775 3422

t-strl.cH A D19-Aug-20143.5 KiB137108

t-strrevcmp.cH A D19-Aug-2014994 5434

t-types.cH A D19-Aug-20142.7 KiB10466

test.cH A D01-Feb-20242.7 KiB15696

ungetc.cH A D19-Aug-20143.9 KiB18293

utf8_valid.cH A D15-Jan-20232.6 KiB10554

util.cH A D01-Feb-20245.2 KiB287199

uxtext_unquote.cH A D15-Jan-20236.3 KiB205110

vasprintf.cH A D15-Jan-20232.9 KiB10554

vfprintf.cH A D01-Feb-202424.1 KiB1,121828

vfscanf.cH A D01-Feb-202418.8 KiB878608

vprintf.cH A D15-Jan-2023994 4012

vsnprintf.cH A D15-Jan-20231.9 KiB7940

wbuf.cH A D19-Aug-20142.5 KiB8933

wsetup.cH A D19-Aug-20141.9 KiB8540

xleni.cH A D15-Jan-2023787 4420

xtrap.cH A D19-Aug-2014653 228

README

1# Copyright (c) 2000-2002 Proofpoint, Inc. and its suppliers.
2#	All rights reserved.
3#
4# By using this file, you agree to the terms and conditions set
5# forth in the LICENSE file which can be found at the top level of
6# the sendmail distribution.
7#
8#	$Id: README,v 1.25 2013-11-22 20:51:42 ca Exp $
9#
10
11Libsm is a library of generally useful C abstractions.
12For documentation, see index.html.
13
14Libsm stands alone; it depends on no other sendmail libraries,
15and the only sendmail header files it depends on are its own,
16which reside in ../include/sm.
17
18The t-*.c files are regression tests.
19These tests are incomplete: we do not yet test all of the APIs,
20and we have not yet converted all tests to use the test harness.
21If a test fails read the explanation it generates.  Sometimes it
22is sufficient to change a compile time flag, which are also listed
23below.  If that does not help, check the sendmail/README files for
24problems on your OS.
25
26The b-*.c files are benchmarks that compare system routines with
27those provided by libsm. By default sendmail uses the routines
28provided by the OS. In several cases, the routines provided by
29libsm are faster than those of the OS. If your OS provides the
30routines, you can compare the performance of them with the libsm
31versions by running the programs with the option -d (by default
32the programs just issue an explanation when/how to use them).
33The programs are:
34
35b-strcmp.c	tests strcasecmp().
36
37
38+----------------------+
39| CONFIGURATION MACROS |
40+----------------------+
41
42Libsm uses a set of C preprocessor macros to specify platform specific
43features of the C compiler and standard C libraries.
44
45If you are porting sendmail to a new platform, you may need to tweak
46the values of some of these macros.
47
48The following macros are given default values in <sm/config.h>.
49If the default value is wrong for a given platform, then a platform
50specific value is specified in one of two ways:
51
52  - A -D option is added to the confENVDEF macro; this change can be made
53    to the platform M4 file in devtools/OS, or to the site.config.m4
54    file in devtools/Site.
55
56  - The confSM_OS_HEADER macro in the platform M4 file defines sm_os_foo,
57    which forces "sm/os/sm_os_foo.h" to be included by "sm/config.h" via a
58    link that is made from "sm_os.h" to "sm/os/sm_os_foo.h".  Platform
59    specific configuration macro settings are added to <sm/os/sm_os_foo.h>.
60
61SM_CONF_STDBOOL_H
62	Set to 1 if the header file <stdbool.h> exists,
63	and defines true, false and bool.
64
65SM_CONF_SYS_CDEFS_H
66	Set to 1 if the header file <sys/cdefs.h> exists,
67	and defines __P.  You may need to do this to eliminate
68	warnings about __P being multiply defined.
69
70SM_CONF_STDDEF_H
71	Set to 0 if the header file <stddef.h> does not exist.
72
73SM_CONF_SETITIMER
74	Set to 0 if the setitimer function is not available.
75
76SM_CONF_SYSEXITS_H
77	Set to 1 if <sysexits.h> exists, and sets the EX_* macros
78	to values different from the default BSD values in <sm/sysexits.h>.
79
80SM_CONF_UID_GID
81	Set to 0 if <sys/types.h> does not define uid_t and gid_t.
82
83SM_CONF_SSIZE_T
84	Set to 0 if <sys/types.h> does not define ssize_t.
85
86SM_CONF_BROKEN_SIZE_T
87	Set to 1 if size_t is not unsigned.
88
89SM_CONF_LONGLONG
90	Set to 1 if your C compiler supports the 'long long' type.
91	This will be set automatically if you use gcc or a C compiler
92	that conforms to the 1999 ISO C standard.
93
94SM_CONF_QUAD_T
95	Set to 1 if your C compiler does not support 'long long',
96	but <sys/types.h> defines quad_t as an integral type.
97
98SM_CONF_SHM
99	Set to 1 if System V shared memory APIs are available.
100
101SM_CONF_MSG
102	Set to 1 if System V message queues are available.
103
104SM_CONF_SEM
105	Set to 1 if semaphores are available.
106
107SM_CONF_BROKEN_STRTOD
108	Set to 1 if your strtod() does not work properly.
109
110SM_CONF_LDAP_INITIALIZE
111	Set to 1 if your LDAP client libraries include ldap_initialize(3).
112
113SM_CONF_LDAP_MEMFREE
114	Set to 1 if your LDAP client libraries include ldap_memfree(3).
115
116SM_IO_MAX_BUF_FILE
117	Set this to a useful buffer size for regular files if stat(2)
118	does not return a value for st_blksize that is the
119	"optimal blocksize for I/O".
120
121SM_IO_MAX_BUF
122	Set this to a useful maximum buffer size for other than
123	regular files if stat(2) does not return a value for
124	st_blksize that is the "optimal blocksize for I/O".
125
126SM_IO_MIN_BUF
127	Set this to a useful minimum buffer size for other than
128	regular files if stat(2) does not return a value for
129	st_blksize that is the "optimal blocksize for I/O".
130
131