You are not logged in.

#1 2020-10-03 06:16:57

redshoe
Member
Registered: 2015-12-16
Posts: 52

[Solved] Segmentation fault during buidling Alpine from AUR

I am getting segmentation fault error while building Alpine package from AUR. The error is regarding "help_h_gen.c" file. Error message is like the following

make[2]: Entering directory '/home/rangke/Testsite/alpine-git/src/alpine/pith'
gcc -DHAVE_CONFIG_H   -I../include -I../include -I/usr/include -D_FORTIFY_SOURCE=2 -g -pthread -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DOPENSSL_1_1_0 -DOPENSSL_API_COMPAT=0x10100000L -MT help_h_gen.o -MD -MP -MF .deps/help_h_gen.Tpo -c -o help_h_gen.o help_h_gen.c
help_h_gen.c: In function ‘body’:
help_h_gen.c:60:6: warning: implicit declaration of function ‘strncmp’ [-Wimplicit-function-declaration]
   60 |  if(!strncmp(line, "====", 4)){
      |      ^~~~~~~
help_h_gen.c:60:28: warning: ‘strncmp’ argument 3 type is ‘int’ where ‘long unsigned int’ is expected in a call to built-in function declared without prototype [-Wbuiltin-declaration-mismatch]
   60 |  if(!strncmp(line, "====", 4)){
      |                            ^
<built-in>: note: built-in ‘strncmp’ declared here
help_h_gen.c:61:10: warning: implicit declaration of function ‘strtok’; did you mean ‘strtoq’? [-Wimplicit-function-declaration]
   61 |      p = strtok(line, space);
      |          ^~~~~~
      |          strtoq
help_h_gen.c:61:8: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   61 |      p = strtok(line, space);
      |        ^
help_h_gen.c:63:5: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   63 |   p = strtok(NULL, space);
      |     ^
mv -f .deps/help_h_gen.Tpo .deps/help_h_gen.Po
/bin/sh ../libtool  --tag=CC   --mode=link gcc -g -pthread -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DOPENSSL_1_1_0 -DOPENSSL_API_COMPAT=0x10100000L  -L/usr/lib -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -o help_h_gen help_h_gen.o 
libtool: link: gcc -g -pthread -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DOPENSSL_1_1_0 -DOPENSSL_API_COMPAT=0x10100000L -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z -Wl,relro -Wl,-z -Wl,now -o help_h_gen help_h_gen.o  -L/usr/lib -pthread
./help_h_gen < pine.hlp > helptext.h
/bin/sh: line 1: 22025 Segmentation fault      (core dumped) ./help_h_gen < pine.hlp > helptext.h
make[2]: *** [Makefile:902: helptext.h] Error 139
make[2]: Leaving directory '/home/rangke/Testsite/alpine-git/src/alpine/pith'
make[1]: *** [Makefile:538: all-recursive] Error 1
make[1]: Leaving directory '/home/rangke/Testsite/alpine-git/src/alpine'
make: *** [Makefile:427: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

Just out of curiosity I tried building on Intel CPU laptop since I am currently using AMD Ryzen processor, and it worked without any problem! Would this be related to any GCC features that exist in AMD Ryzen processors?

I am using 5.8.12-arch1-1, and my GCC version is 10.2.0.

Any help would be appreciated.

Last edited by redshoe (2020-10-16 16:31:25)

Offline

#2 2020-10-03 10:23:00

Daerandin
Member
From: Norway
Registered: 2013-05-07
Posts: 211
Website

Re: [Solved] Segmentation fault during buidling Alpine from AUR

Do you have microcode updates enabled?

Offline

#3 2020-10-03 18:00:07

redshoe
Member
Registered: 2015-12-16
Posts: 52

Re: [Solved] Segmentation fault during buidling Alpine from AUR

I think so. I have the latest amd-ucode installed.

Offline

#4 2020-10-03 18:10:16

loqs
Member
Registered: 2014-03-06
Posts: 11,864

Re: [Solved] Segmentation fault during buidling Alpine from AUR

What is the backtrace from the coredump?

Offline

#5 2020-10-03 21:32:01

redshoe
Member
Registered: 2015-12-16
Posts: 52

Re: [Solved] Segmentation fault during buidling Alpine from AUR

Here is the backtrace

           PID: 76405 (help_h_gen)
           UID: 1000 (rangke)
           GID: 1000 (rangke)
        Signal: 11 (SEGV)
     Timestamp: Sat 2020-10-03 02:17:59 EDT (15h ago)
  Command Line: ./help_h_gen
    Executable: /home/rangke/Testsite/alpine/src/alpine-2.23/pith/help_h_gen
 Control Group: /user.slice/user-1000.slice/session-1.scope
          Unit: session-1.scope
         Slice: user-1000.slice
       Session: 1
     Owner UID: 1000 (rangke)
       Boot ID: 7b11673eed02487699785be1adb1cf0d
    Machine ID: d5991e82bcf74145af26f88d6ce41ca3
      Hostname: Angke
       Storage: /var/lib/systemd/coredump/core.help_h_gen.1000.7b11673eed02487699785be1adb1cf0d.76405.1601705879000000.zst
       Message: Process 76405 (help_h_gen) of user 1000 dumped core.
                
                Stack trace of thread 76405:
                #0  0x0000556eadbc0356 n/a (/home/rangke/Testsite/alpine/src/alpine-2.23/pith/help_h_gen + 0x1356)

GNU gdb (GDB) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/rangke/Testsite/alpine/src/alpine-2.23/pith/help_h_gen...
[New LWP 76405]
Core was generated by `./help_h_gen'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000556eadbc0356 in body (ifp=0x7fc8db5a0800 <_IO_2_1_stdin_>, ofp=0x7fc8db5a1520 <_IO_2_1_stdout_>) at help_h_gen.c:65
65			    if(isalpha(*p))
(gdb) bt
#0  0x0000556eadbc0356 in body (ifp=0x7fc8db5a0800 <_IO_2_1_stdin_>, ofp=0x7fc8db5a1520 <_IO_2_1_stdout_>) at help_h_gen.c:65
#1  0x0000556eadbc0043 in main (argc=<optimized out>, argv=<optimized out>) at help_h_gen.c:29

Offline

#6 2020-10-03 22:16:53

loqs
Member
Registered: 2014-03-06
Posts: 11,864

Re: [Solved] Segmentation fault during buidling Alpine from AUR

void
body(FILE *ifp, FILE *ofp)
{
    char  line[10000];
    char *space = " ";
    char *p;

    while(fgets(line, sizeof(line), ifp) != NULL){
	if(!strncmp(line, "====", 4)){
	    p = strtok(line, space);
	    if(p){
		p = strtok(NULL, space);
		if(p){
		    if(isalpha(*p))

Needs someone familiar with gdb.  From gdb see if the following works (I am trying to print the variable p)

p body::p

Offline

#7 2020-10-03 22:49:00

redshoe
Member
Registered: 2015-12-16
Posts: 52

Re: [Solved] Segmentation fault during buidling Alpine from AUR

loqs wrote:
void
body(FILE *ifp, FILE *ofp)
{
    char  line[10000];
    char *space = " ";
    char *p;

    while(fgets(line, sizeof(line), ifp) != NULL){
	if(!strncmp(line, "====", 4)){
	    p = strtok(line, space);
	    if(p){
		p = strtok(NULL, space);
		if(p){
		    if(isalpha(*p))

Where did you get this segment of the code from?

Offline

#8 2020-10-03 22:51:12

loqs
Member
Registered: 2014-03-06
Posts: 11,864

Re: [Solved] Segmentation fault during buidling Alpine from AUR

src/alpine-2.23/pith/help_h_gen

With line 65 being the last line of the excerpt .

Offline

#9 2020-10-03 22:53:27

redshoe
Member
Registered: 2015-12-16
Posts: 52

Re: [Solved] Segmentation fault during buidling Alpine from AUR

loqs wrote:

Needs someone familiar with gdb.  From gdb see if the following works (I am trying to print the variable p)

p body::p

with

p body::p

i get

$1 = 0xffffffff8d0e51fe <error: Cannot access memory at address 0xffffffff8d0e51fe>

Offline

#10 2020-10-04 08:47:52

seth
Member
Registered: 2012-09-03
Posts: 16,568

Re: [Solved] Segmentation fault during buidling Alpine from AUR

help_h_gen.c:61:10: warning: implicit declaration of function ‘strtok’; did you mean ‘strtoq’? [-Wimplicit-function-declaration]
   61 |      p = strtok(line, space);
      |          ^~~~~~
      |          strtoq
help_h_gen.c:61:8: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   61 |      p = strtok(line, space);
      |        ^
help_h_gen.c:63:5: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   63 |   p = strtok(NULL, space);
      |     ^

strtok isn't defined (missing/wrong include of cstring/string.h) implicitly defined and returns a random integer on the stack instead of a char pointer. boom.
There's a similar problem w/ strncmp, so the problem is that the code does either not include string.h or resolves the wrong file.
Most likely the code relied on an implicit include chain (rater than explicitly including it) which does no longer exist.

Edit:
'key, https://repo.or.cz/alpine.git/blob/HEAD … lp_h_gen.c has "  17 #include <string.h>" so it probably resolves https://repo.or.cz/alpine.git/blob/HEAD:/pith/string.h
Pass "-H" to the CFLAGS/CPPFLAGS to print the used includes.

Last edited by seth (2020-10-04 11:31:56)

Offline

#11 2020-10-05 04:59:49

redshoe
Member
Registered: 2015-12-16
Posts: 52

Re: [Solved] Segmentation fault during buidling Alpine from AUR

seth wrote:
help_h_gen.c:61:10: warning: implicit declaration of function ‘strtok’; did you mean ‘strtoq’? [-Wimplicit-function-declaration]
   61 |      p = strtok(line, space);
      |          ^~~~~~
      |          strtoq
help_h_gen.c:61:8: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   61 |      p = strtok(line, space);
      |        ^
help_h_gen.c:63:5: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   63 |   p = strtok(NULL, space);
      |     ^

strtok isn't defined (missing/wrong include of cstring/string.h) implicitly defined and returns a random integer on the stack instead of a char pointer. boom.
There's a similar problem w/ strncmp, so the problem is that the code does either not include string.h or resolves the wrong file.
Most likely the code relied on an implicit include chain (rater than explicitly including it) which does no longer exist.

Edit:
'key, https://repo.or.cz/alpine.git/blob/HEAD … lp_h_gen.c has "  17 #include <string.h>" so it probably resolves https://repo.or.cz/alpine.git/blob/HEAD:/pith/string.h
Pass "-H" to the CFLAGS/CPPFLAGS to print the used includes.

I'm sorry. so, do you want me to try putting -H flag for CFLAGS/CPPFLAGS for the build process and see what the included header files are?

Offline

#12 2020-10-05 06:10:41

seth
Member
Registered: 2012-09-03
Posts: 16,568

Re: [Solved] Segmentation fault during buidling Alpine from AUR

Yup.
Another possible problem is that something™ defines  _STRING_H what effectively blocks the inclusion even if /usr/include/string.h is resolved.

Offline

#13 2020-10-08 00:34:28

redshoe
Member
Registered: 2015-12-16
Posts: 52

Re: [Solved] Segmentation fault during buidling Alpine from AUR

Hmm.. I did add -H flag for CFLAGS/CPPFLAGS in the makefile and now it's giving me different error. With -H flag, now I am not getting any help_h_gen.c related error...

....

maildir.c:9954:5: error: redefinition of ‘comp_maildir_file’
 9954 | int comp_maildir_file(char *name1, char *name2)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:1941:5: note: previous definition of ‘comp_maildir_file’ was here
 1941 | int comp_maildir_file(char *name1, char *name2)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:9997:1: error: redefinition of ‘maildir_getflag’
 9997 | maildir_getflag(char *name, int *d, int *f, int *r ,int *s, int *t)
      | ^~~~~~~~~~~~~~~
maildir.c:1984:1: note: previous definition of ‘maildir_getflag’ was here
 1984 | maildir_getflag(char *name, int *d, int *f, int *r ,int *s, int *t)
      | ^~~~~~~~~~~~~~~
maildir.c:10045:1: error: redefinition of ‘maildir_message_in_list’
10045 | maildir_message_in_list(char *msgname, struct direct **names,
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2032:1: note: previous definition of ‘maildir_message_in_list’ was here
 2032 | maildir_message_in_list(char *msgname, struct direct **names,
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:10086:1: error: conflicting types for ‘maildir_abort’
10086 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
maildir.c:10109:1: error: redefinition of ‘maildir_contains_folder’
10109 | maildir_contains_folder(char *dirname, char *name)
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2096:1: note: previous definition of ‘maildir_contains_folder’ was here
 2096 | maildir_contains_folder(char *dirname, char *name)
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:10143:1: error: redefinition of ‘maildir_is_dir’
10143 | maildir_is_dir(char *dirname, char *name)
      | ^~~~~~~~~~~~~~
maildir.c:2130:1: note: previous definition of ‘maildir_is_dir’ was here
 2130 | maildir_is_dir(char *dirname, char *name)
      | ^~~~~~~~~~~~~~
maildir.c:10160:1: error: redefinition of ‘maildir_dir_is_empty’
10160 | maildir_dir_is_empty(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:2147:1: note: previous definition of ‘maildir_dir_is_empty’ was here
 2147 | maildir_dir_is_empty(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:10211:1: error: conflicting types for ‘maildir_get_file’
10211 | maildir_get_file (MAILDIRFILE **mdfile)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
maildir.c:10221:1: error: redefinition of ‘maildir_free_file’
10221 | maildir_free_file (void **mdfile)
      | ^~~~~~~~~~~~~~~~~
maildir.c:2208:1: note: previous definition of ‘maildir_free_file’ was here
 2208 | maildir_free_file (void **mdfile)
      | ^~~~~~~~~~~~~~~~~
maildir.c:10232:1: error: redefinition of ‘maildir_free_file_only’
10232 | maildir_free_file_only (void **mdfile)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2219:1: note: previous definition of ‘maildir_free_file_only’ was here
 2219 | maildir_free_file_only (void **mdfile)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:10241:1: error: redefinition of ‘maildir_any_new_msgs’
10241 | maildir_any_new_msgs(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:2228:1: note: previous definition of ‘maildir_any_new_msgs’ was here
 2228 | maildir_any_new_msgs(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:10265:1: error: conflicting types for ‘maildir_get_date’
10265 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
maildir.c:10309:5: error: redefinition of ‘courier_dir_select’
10309 | int courier_dir_select (const struct direct *name)
      |     ^~~~~~~~~~~~~~~~~~
maildir.c:2296:5: note: previous definition of ‘courier_dir_select’ was here
 2296 | int courier_dir_select (const struct direct *name)
      |     ^~~~~~~~~~~~~~~~~~
maildir.c:10315:5: error: redefinition of ‘courier_dir_sort’
10315 | int courier_dir_sort (const struct direct **d1, const struct direct **d2)
      |     ^~~~~~~~~~~~~~~~
maildir.c:2302:5: note: previous definition of ‘courier_dir_sort’ was here
 2302 | int courier_dir_sort (const struct direct **d1, const struct direct **d2)
      |     ^~~~~~~~~~~~~~~~
maildir.c:10323:6: error: conflicting types for ‘courier_free_cdir’
10323 | void courier_free_cdir (COURIER_S **cdir)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:10337:12: error: conflicting types for ‘courier_get_cdir’
10337 | COURIER_S *courier_get_cdir (int total)
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
maildir.c:10349:5: error: conflicting types for ‘courier_search_list’
10349 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last)
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
maildir.c:10366:12: error: conflicting types for ‘courier_list_dir’
10366 | COURIER_S *courier_list_dir(char *curdir)
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
maildir.c:10416:1: error: conflicting types for ‘courier_list_info’
10416 | courier_list_info(COURIER_S **cdirp, char *data, int i)
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:10443:1: error: conflicting types for ‘maildir_can_assign_uid’
10443 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:10526:1: error: conflicting types for ‘maildir_read_uid’
10526 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
maildir.c:10583:1: error: conflicting types for ‘maildir_write_uid’
10583 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
maildir.c:10599:1: error: redefinition of ‘maildir_get_uid’
10599 | maildir_get_uid(char *name)
      | ^~~~~~~~~~~~~~~
maildir.c:2586:1: note: previous definition of ‘maildir_get_uid’ was here
 2586 | maildir_get_uid(char *name)
      | ^~~~~~~~~~~~~~~
maildir.c:10614:1: error: conflicting types for ‘maildir_delete_uid’
10614 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:10640:1: error: conflicting types for ‘maildir_assign_uid’
10640 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:10668:1: error: conflicting types for ‘maildir_uid_renew_tempfile’
10668 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_text_work’:
maildir.c:907:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  907 |     read (LOCAL->fd,LOCAL->buf,elt->private.msg.text.text.size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_parse_message’:
maildir.c:962:2: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  962 |  read (LOCAL->fd,s,MDSIZE(elt));
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_header’:
maildir.c:1062:6: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1062 |      read (LOCAL->fd, (void *)LOCAL->buf, elt->private.msg.header.text.size);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:1067:7: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1067 |       read (LOCAL->fd, (void *)s, elt->private.msg.header.text.size);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_copy’:
maildir.c:1383:9: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1383 |         read (fd,s,MDSIZE(elt));
      |         ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_text_work’:
maildir.c:3578:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 3578 |     read (LOCAL->fd,LOCAL->buf,elt->private.msg.text.text.size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_parse_message’:
maildir.c:3633:2: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 3633 |  read (LOCAL->fd,s,MDSIZE(elt));
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_header’:
maildir.c:3733:6: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 3733 |      read (LOCAL->fd, (void *)LOCAL->buf, elt->private.msg.header.text.size);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:3738:7: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 3738 |       read (LOCAL->fd, (void *)s, elt->private.msg.header.text.size);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_copy’:
maildir.c:4054:9: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 4054 |         read (fd,s,MDSIZE(elt));
      |         ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_text_work’:
maildir.c:6249:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 6249 |     read (LOCAL->fd,LOCAL->buf,elt->private.msg.text.text.size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_parse_message’:
maildir.c:6304:2: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 6304 |  read (LOCAL->fd,s,MDSIZE(elt));
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_header’:
maildir.c:6404:6: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 6404 |      read (LOCAL->fd, (void *)LOCAL->buf, elt->private.msg.header.text.size);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:6409:7: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 6409 |       read (LOCAL->fd, (void *)s, elt->private.msg.header.text.size);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_copy’:
maildir.c:6725:9: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 6725 |         read (fd,s,MDSIZE(elt));
      |         ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_text_work’:
maildir.c:8920:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 8920 |     read (LOCAL->fd,LOCAL->buf,elt->private.msg.text.text.size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_parse_message’:
maildir.c:8975:2: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 8975 |  read (LOCAL->fd,s,MDSIZE(elt));
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_header’:
maildir.c:9075:6: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 9075 |      read (LOCAL->fd, (void *)LOCAL->buf, elt->private.msg.header.text.size);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:9080:7: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 9080 |       read (LOCAL->fd, (void *)s, elt->private.msg.header.text.size);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c: In function ‘maildir_copy’:
maildir.c:9396:9: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 9396 |         read (fd,s,MDSIZE(elt));
      |         ^~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:885: maildir.o] Error 1
make[3]: Leaving directory '/home/rangke/Testsite/alpine/src/alpine-2.23/imap/c-client'
make[2]: *** [Makefile:709: rebuild] Error 2
make[2]: Leaving directory '/home/rangke/Testsite/alpine/src/alpine-2.23/imap'
make[1]: *** [Makefile:314: slx] Error 2
make[1]: Leaving directory '/home/rangke/Testsite/alpine/src/alpine-2.23/imap'
make: *** [Makefile:970: c-client] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

Offline

#14 2020-10-08 07:06:15

seth
Member
Registered: 2012-09-03
Posts: 16,568

Re: [Solved] Segmentation fault during buidling Alpine from AUR

Can you please upload the entire output?
(You can use "tee" to redirect it into a file)

ANd is this https://aur.archlinux.org/packages/alpine/ rather than https://aur.archlinux.org/packages/alpine-git/ or where does the maildir patch come from?
What exactly are you trying to build there? Did you maybe clone different packages into the same path?

Offline

#15 2020-10-11 15:53:52

redshoe
Member
Registered: 2015-12-16
Posts: 52

Re: [Solved] Segmentation fault during buidling Alpine from AUR

Okay here is the entire output

==> Making package: alpine 2.23-2 (Wed 07 Oct 2020 08:30:12 PM EDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found alpine-2.23.tar.xz
  -> Found maildir.patch.gz
  -> Found fancy.patch.gz
  -> Found fillpara.patch.gz
  -> Found compose.patch.gz
  -> Found longurl.patch.gz
==> Validating source files with sha256sums...
    alpine-2.23.tar.xz ... Passed
    maildir.patch.gz ... Passed
    fancy.patch.gz ... Passed
    fillpara.patch.gz ... Passed
    compose.patch.gz ... Passed
    longurl.patch.gz ... Passed
==> Extracting sources...
  -> Extracting alpine-2.23.tar.xz with bsdtar
  -> Extracting maildir.patch.gz with gzip
  -> Extracting fancy.patch.gz with gzip
  -> Extracting fillpara.patch.gz with gzip
  -> Extracting compose.patch.gz with gzip
  -> Extracting longurl.patch.gz with gzip
==> Removing existing $pkgdir/ directory...
==> Starting build()...
patching file alpine/arg.c
patching file alpine/confscroll.c
patching file alpine/confscroll.h
patching file alpine/keymenu.c
patching file alpine/keymenu.h
patching file alpine/mailcmd.c
patching file alpine/mailcmd.h
patching file alpine/mailindx.c
patching file alpine/mailindx.h
patching file alpine/mailview.c
patching file alpine/roleconf.c
patching file alpine/setup.c
patching file pith/conf.c
patching file pith/conf.h
patching file pith/conftype.h
patching file pith/flag.c
patching file pith/indxtype.h
patching file pith/mailindx.c
patching file pith/pattern.c
patching file pith/pine.hlp
patching file pith/sort.c
patching file pith/sort.h
patching file pith/state.c
patching file pith/state.h
patching file pith/thread.c
patching file pith/thread.h
patching file web/src/alpined.d/alpined.c
patching file alpine/alpine.c
patching file alpine/confscroll.c
Hunk #1 succeeded at 5580 (offset 34 lines).
patching file imap/src/c-client/mail.c
patching file imap/src/c-client/mail.h
patching file imap/src/osdep/unix/dummy.c
patching file imap/src/osdep/unix/maildir.c
patching file imap/src/osdep/unix/maildir.h
patching file imap/src/osdep/unix/Makefile
patching file imap/src/osdep/unix/os_cyg.h
patching file pith/conf.c
Hunk #1 succeeded at 451 (offset 2 lines).
Hunk #2 succeeded at 660 (offset 4 lines).
Hunk #3 succeeded at 2350 (offset 5 lines).
Hunk #4 succeeded at 3005 (offset 16 lines).
Hunk #5 succeeded at 7159 (offset 18 lines).
Hunk #6 succeeded at 7212 (offset 18 lines).
Hunk #7 succeeded at 8019 (offset 20 lines).
patching file pith/conf.h
Hunk #1 succeeded at 263 (offset 3 lines).
patching file pith/conftype.h
Hunk #1 succeeded at 119 (offset 1 line).
Hunk #2 succeeded at 410 (offset 1 line).
patching file pith/init.c
patching file pith/pattern.c
patching file pith/pine.hlp
Hunk #1 succeeded at 23180 (offset 166 lines).
Hunk #2 succeeded at 31546 (offset 205 lines).
patching file pith/send.c
patching file README.maildir
patching file alpine/mailview.c
patching file pico/basic.c
patching file pico/efunc.h
patching file pico/line.c
patching file pico/osdep/color.h
patching file pico/search.c
patching file pico/word.c
patching file pith/charconv/utf8.c
patching file pith/charconv/utf8.h
patching file pith/color.c
patching file pith/color.h
patching file pith/filter.c
patching file pith/filter.h
patching file pith/filttype.h
patching file pith/mailview.c
patching file pith/mailview.h
patching file pith/osdep/color.c
patching file pith/osdep/color.h
patching file pith/pine.hlp
Hunk #1 succeeded at 8061 (offset 158 lines).
patching file pith/reply.c
patching file pith/state.c
Hunk #1 succeeded at 236 (offset 1 line).
patching file pith/state.h
Hunk #1 succeeded at 262 (offset 2 lines).
patching file pith/text.c
patching file alpine/help.c
patching file alpine/send.c
patching file imap/src/c-client/auth_ntl.c
patching file imap/src/c-client/http.c
patching file pith/pine.hlp
Hunk #2 succeeded at 30482 (offset 341 lines).
Hunk #3 succeeded at 38223 (offset 401 lines).
patching file pith/conf.c
Hunk #1 succeeded at 3065 (offset 35 lines).
patching file pith/conftype.h
Hunk #1 succeeded at 468 (offset 7 lines).
patching file pith/mailview.c
Hunk #1 succeeded at 1916 (offset 67 lines).
Hunk #2 succeeded at 1997 (offset 67 lines).
Hunk #3 succeeded at 2008 (offset 67 lines).
Hunk #4 succeeded at 2040 (offset 67 lines).
patching file pith/pine.hlp
Hunk #1 succeeded at 31252 (offset 355 lines).
patching file pith/url.c
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
configure: Configuring for alpine 2.23 (x86_64-pc-linux-gnu)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
./configure: line 4553: AX_PROG_CC_FOR_BUILD: command not found
checking for gcc option to accept ISO C99... none needed
checking for gcc option to accept ISO Standard C... (cached) none needed
checking whether make sets $(MAKE)... (cached) yes
checking whether ln -s works... yes
checking for gawk... (cached) gawk
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for ar... /usr/bin/ar
checking for rm... /usr/bin/rm
checking for cp... /usr/bin/cp
checking for ln... /usr/bin/ln
checking for ls... /usr/bin/ls
checking for sed... (cached) /usr/bin/sed
checking for make... /usr/bin/make
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by GCC... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking option: dmalloc enabled... no
checking option: debugging is enabled... yes
checking option: optimization is enabled... yes
checking option: mouse support enabled... yes
checking option: quotas enabled... no
checking option: From changing enabled... yes
checking option: background post enabled... yes
checking option: keyboard lock enabled... yes
checking option: from encoding enabled... no
checking for sendmail... no
checking for inews... no
checking for passwd... /usr/bin/passwd
checking for hunspell... hunspell
checking for hunspell... /usr/bin/hunspell
checking for hunspell... hunspell
checking for hunspell... /usr/bin/hunspell
configure: --with-passfile definition overrides OS-Specific password caching
configure: Excluding TCL Support, and thus Web Alpine Support
checking for setupterm in -ltinfo... yes
checking for library containing dlopen... -ldl
checking if OpenSSL is LibreSSL... no
checking Openssl library version >= 1.0.0c... yes
checking Openssl library version >= 1.1.0... yes
checking for library containing OpenSSL_version_num... none required
checking for library containing OPENSSL_init_ssl... -lssl
checking for ber_alloc in -llber... yes
checking for library containing ldap_initialize... -lldap
configure: * * * Including LDAP Support
checking for library containing crypt... -lcrypt
checking for library containing gss_init_sec_context... -lgssapi_krb5
checking gssapi/gssapi_generic.h usability... yes
checking gssapi/gssapi_generic.h presence... yes
checking for gssapi/gssapi_generic.h... yes
checking for library containing buildSmbNtlmAuthRequest... no
configure: NOT including NTLM Support: ntlm library not found
checking for library containing regcomp... none required
checking regex.h usability... yes
checking regex.h presence... yes
checking for regex.h... yes
checking for pthread support... checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
yes
checking for library containing nanosleep... none required
checking for ANSI C header files... (cached) yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether stat file-mode macros are broken... no
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether termios.h defines TIOCGWINSZ... no
checking whether sys/ioctl.h defines TIOCGWINSZ... yes
checking for unistd.h... (cached) yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking setjmp.h usability... yes
checking setjmp.h presence... yes
checking for setjmp.h... yes
checking for memory.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking sys/un.h usability... yes
checking sys/un.h presence... yes
checking for sys/un.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking sys/poll.h usability... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
checking stropts.h usability... no
checking stropts.h presence... no
checking for stropts.h... no
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking sys/syslog.h usability... yes
checking sys/syslog.h presence... yes
checking for sys/syslog.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking sys/utime.h usability... no
checking sys/utime.h presence... no
checking for sys/utime.h... no
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking return type of signal handlers... void
checking for size_t... yes
checking for mode_t... yes
checking for pid_t... yes
checking for uid_t in sys/types.h... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for union wait... no
checking for stdint.h... (cached) yes
checking for stdint.h... (cached) yes
checking argument pointer type of qsort compare function and base... void
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking for working strcoll... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for strchr... yes
checking for memcpy... yes
checking for strtol... yes
checking for strtoul... yes
checking for select... yes
checking for poll... yes
checking for qsort... yes
checking for getuid... yes
checking for getpwuid... yes
checking for getpwnam... yes
checking for gettimeofday... yes
checking for tmpfile... yes
checking for uname... yes
checking for rename... yes
checking for read... yes
checking for signal... yes
checking for setjmp... yes
checking for chown... yes
checking for wait4... yes
checking for waitpid... yes
checking for wait... yes
checking for srandom... yes
checking for popen... yes
checking for pclose... yes
checking for fsync... yes
checking for truncate... yes
checking for listen... yes
checking for wcwidth... yes
checking for mbstowcs... yes
checking for wcrtomb... yes
checking for putenv... yes
checking for setenv... yes
checking for library containing gethostname... none required
checking for library containing socket... none required
checking for library containing bind... none required
checking for sigaction... yes
checking for sigemptyset... yes
checking for sigaddset... yes
checking for sigprocmask... yes
checking for library containing syslog... none required
configure: * * * S/MIME support enabled
configure: * * * Including Kerberos5 functionality
configure: * * * TCL libraries could not be found.
configure: * * * WEB ALPINE COMPONENT WILL NOT BE BUILT.
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating m4/Makefile
config.status: creating po/Makefile.in
config.status: creating pith/osdep/Makefile
config.status: creating pith/charconv/Makefile
config.status: creating pith/Makefile
config.status: creating pico/osdep/Makefile
config.status: creating pico/Makefile
config.status: creating alpine/osdep/Makefile
config.status: creating alpine/Makefile
config.status: creating web/src/Makefile
config.status: creating web/src/pubcookie/Makefile
config.status: creating web/src/alpined.d/Makefile
config.status: creating Makefile
config.status: creating include/config.h
config.status: include/config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
/usr/bin/rm: cannot remove 'libtoolT': No such file or directory
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
if test ! -L c-client ; then ln -s imap/c-client c-client ; fi
touch imap/ip6
cd imap && /usr/bin/make slx EXTRACFLAGS=" -I/usr/include -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DOPENSSL_1_1_0 -DOPENSSL_API_COMPAT=0x10100000L" EXTRALDFLAGS=" -L/usr/lib -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now  -lgssapi_krb5 -lcrypt -lldap -lssl -ldl -lpam -lkrb5 -lcrypto -ltinfo -llber -lkrb5"  EXTRAAUTHENTICATORS="gss " EXTRASPECIALS="SSLDIR=/usr SSLCERTS=/etc/ssl/certs " BUNDLED="no"
make[1]: Entering directory '/home/rangke/Testsite/alpine/src/alpine-2.23/imap'
make build EXTRACFLAGS='-I/usr/include -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DOPENSSL_1_1_0 -DOPENSSL_API_COMPAT=0x10100000L' EXTRALDFLAGS='-L/usr/lib -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now  -lgssapi_krb5 -lcrypt -lldap -lssl -ldl -lpam -lkrb5 -lcrypto -ltinfo -llber -lkrb5' EXTRADRIVERS='mbox' EXTRAAUTHENTICATORS='gss ' PASSWDTYPE=std SSLTYPE=nopwd IP=4 EXTRASPECIALS='SSLDIR=/usr SSLCERTS=/etc/ssl/certs ' BUNDLED='no' BUILDTYPE=slx
make[2]: Entering directory '/home/rangke/Testsite/alpine/src/alpine-2.23/imap'
Rebuilding c-client for slx...
cd c-client;make all CC=`cat CCTYPE` \
 CFLAGS="`cat CFLAGS`" `cat SPECIALS`
make[3]: Entering directory '/home/rangke/Testsite/alpine/src/alpine-2.23/imap/c-client'
Building OS-dependent module
If you get No such file error messages for files x509.h, ssl.h,
pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL
is not installed on your system. Either install OpenSSL first
or build with command: make slx SSLTYPE=none
`cat CCTYPE` -c `cat CFLAGS` `cat OSCFLAGS` -c osdep.c
In file included from osdep.c:28:
env_unix.c: In function ‘lock_work’:
osdep.h:61:15: warning: implicit declaration of function ‘safe_flock’ [-Wimplicit-function-declaration]
   61 | #define flock safe_flock
      |               ^~~~~~~~~~
env_unix.c:1391:27: note: in expansion of macro ‘flock’
 1391 |     if (op & LOCK_NB) i = flock (fd,op);
      |                           ^~~~~
In file included from osdep.c:47:
env_unix.c: In function ‘pw_login’:
env_unix.c:799:37: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  799 |       (ret = env_init (user,home))) chdir (myhomedir ());
      |                                     ^~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` mail.c
`cat CCTYPE` -c `cat CFLAGS` misc.c
`cat CCTYPE` -c `cat CFLAGS` newsrc.c
`cat CCTYPE` -c `cat CFLAGS` smanager.c
`cat CCTYPE` -c `cat CFLAGS` utf8.c
`cat CCTYPE` -c `cat CFLAGS` utf8aux.c
`cat CCTYPE` -c `cat CFLAGS` dummy.c
dummy.c: In function ‘dummy_create’:
dummy.c:463:12: warning: implicit declaration of function ‘maildir_create’; did you mean ‘mail_create’? [-Wimplicit-function-declaration]
  463 |     return maildir_create(stream, mailbox);
      |            ^~~~~~~~~~~~~~
      |            mail_create
dummy.c: In function ‘dummy_delete’:
dummy.c:530:5: warning: implicit declaration of function ‘is_valid_maildir’ [-Wimplicit-function-declaration]
  530 |  || is_valid_maildir(&mailbox)){
      |     ^~~~~~~~~~~~~~~~
dummy.c:535:13: warning: implicit declaration of function ‘maildir_delete’; did you mean ‘mail_delete’? [-Wimplicit-function-declaration]
  535 |      return maildir_delete(stream, tmp);
      |             ^~~~~~~~~~~~~~
      |             mail_delete
dummy.c: In function ‘dummy_scan_contents’:
dummy.c:388:7: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  388 |       read (fd,buf+ssiz,bsiz = min (fsiz,BUFSIZE));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` netmsg.c
`cat CCTYPE` -c `cat CFLAGS` flstring.c
`cat CCTYPE` -c `cat CFLAGS` fdstring.c
fdstring.c: In function ‘fd_string_setpos’:
fdstring.c:97:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   97 |     read ((long) s->data,s->curpos,(size_t) s->cursize);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fdstring.c: In function ‘fd_string_init’:
fdstring.c:67:3: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   67 |   read (d->fd,s->chunk,(size_t) s->cursize);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` rfc822.c
`cat CCTYPE` -c `cat CFLAGS` nntp.c
nntp.c: In function ‘nntp_mopen’:
nntp.c:785:5: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  785 |     fread (LOCAL->over_fmt = (char *) fs_get ((size_t) k + 3),
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  786 |     (size_t) 1,(size_t) k,f);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~
nntp.c: In function ‘nntp_header’:
nntp.c:1121:2: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1121 |  fread (elt->private.msg.header.text.data =
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1122 |         (unsigned char *) fs_get ((size_t) *size + 3),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1123 |         (size_t) 1,(size_t) *size,f);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` smtp.c
`cat CCTYPE` -c `cat CFLAGS` imap4r1.c
`cat CCTYPE` -c `cat CFLAGS` http.c
`cat CCTYPE` -c `cat CFLAGS` json.c
`cat CCTYPE` -c `cat CFLAGS` pop3.c
pop3.c: In function ‘pop3_header’:
pop3.c:888:7: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  888 |       fread (elt->private.msg.header.text.data = (unsigned char *)
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  889 |       fs_get ((size_t) elt->private.msg.header.text.size + 1),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  890 |       (size_t) 1,(size_t) elt->private.msg.header.text.size,f);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` unix.c
In file included from unix.c:46:
unix.c: In function ‘unix_open’:
osdep.h:61:15: warning: implicit declaration of function ‘safe_flock’ [-Wimplicit-function-declaration]
   61 | #define flock safe_flock
      |               ^~~~~~~~~~
unix.c:531:5: note: in expansion of macro ‘flock’
  531 |     flock (LOCAL->ld,LOCK_UN); /* release the lock */
      |     ^~~~~
unix.c:520:7: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  520 |       ftruncate (fd,i);  /* make sure tied off */
      |       ^~~~~~~~~~~~~~~~
unix.c: In function ‘unix_header’:
unix.c:618:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  618 |     read (LOCAL->fd,LOCAL->buf,elt->private.msg.header.text.size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c:628:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  628 |     read (LOCAL->fd,s = (char *) fs_get (elt->private.msg.header.text.size+1),
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  629 |    elt->private.msg.header.text.size);
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c: In function ‘unix_text_work’:
unix.c:695:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  695 |     read (LOCAL->fd,LOCAL->buf,elt->private.msg.text.text.size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c: In function ‘unix_copy’:
unix.c:944:7: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  944 |       read (LOCAL->fd,LOCAL->buf,elt->private.special.text.size);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c:970:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  970 |     ftruncate (fd,sbuf.st_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c: In function ‘unix_append’:
unix.c:1140:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1140 |     ftruncate (fd,sbuf.st_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c: In function ‘unix_rewrite’:
unix.c:2127:4: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2127 |    read (LOCAL->fd,LOCAL->buf,elt->private.special.text.size);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c:2227:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2227 |     ftruncate (LOCAL->fd,LOCAL->filesize = size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c: In function ‘unix_extend’:
unix.c:2273:2: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2273 |  ftruncate (LOCAL->fd,LOCAL->filesize);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c: In function ‘mbox_ping’:
unix.c:2599:2: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2599 |  read (sfd,s = (char *) fs_get (size + 1),size);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c:2609:4: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2609 |    ftruncate (LOCAL->fd,LOCAL->filesize);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c:2617:4: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2617 |    ftruncate (LOCAL->fd,LOCAL->filesize);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix.c:2628:4: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2628 |    ftruncate (sfd,0); /* truncate sysinbox to zero bytes */
      |    ^~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` mbx.c
In file included from mbx.c:42:
mbx.c: In function ‘mbx_isvalid’:
osdep.h:61:15: warning: implicit declaration of function ‘safe_flock’ [-Wimplicit-function-declaration]
   61 | #define flock safe_flock
      |               ^~~~~~~~~~
mbx.c:233:12: note: in expansion of macro ‘flock’
  233 |        if (flock (fd,LOCK_SH) ||
      |            ^~~~~
mbx.c: In function ‘mbx_header’:
mbx.c:709:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  709 |     read (LOCAL->fd,s = LOCAL->buf,*length);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mbx.c: In function ‘mbx_snarf’:
mbx.c:965:2: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  965 |  ftruncate (LOCAL->fd,sbuf.st_size);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mbx.c: In function ‘mbx_copy’:
mbx.c:1046:4: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1046 |    read (LOCAL->fd,LOCAL->buf,j);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mbx.c:1060:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1060 |     ftruncate (fd,sbuf.st_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mbx.c: In function ‘mbx_append’:
mbx.c:1195:7: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1195 |       ftruncate (fd,sbuf.st_size);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mbx.c: In function ‘mbx_parse’:
mbx.c:1269:3: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1269 |   read (LOCAL->fd,LOCAL->buf,HDRSIZE);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mbx.c: In function ‘mbx_rewrite’:
mbx.c:1757:6: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1757 |      read (LOCAL->fd,LOCAL->buf,m);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mbx.c:1781:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1781 |     ftruncate (LOCAL->fd,LOCAL->filesize);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` mmdf.c
In file included from mmdf.c:34:
mmdf.c: In function ‘mmdf_open’:
osdep.h:61:15: warning: implicit declaration of function ‘safe_flock’ [-Wimplicit-function-declaration]
   61 | #define flock safe_flock
      |               ^~~~~~~~~~
mmdf.c:670:5: note: in expansion of macro ‘flock’
  670 |     flock (LOCAL->ld,LOCK_UN); /* release the lock */
      |     ^~~~~
mmdf.c:659:7: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  659 |       ftruncate (fd,i);  /* make sure tied off */
      |       ^~~~~~~~~~~~~~~~
mmdf.c: In function ‘mmdf_header’:
mmdf.c:770:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  770 |     read (LOCAL->fd,LOCAL->buf,elt->private.msg.header.text.size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mmdf.c:780:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  780 |     read (LOCAL->fd,s = (char *) fs_get (elt->private.msg.header.text.size+1),
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  781 |    elt->private.msg.header.text.size);
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mmdf.c: In function ‘mmdf_text_work’:
mmdf.c:847:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  847 |     read (LOCAL->fd,LOCAL->buf,elt->private.msg.text.text.size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mmdf.c: In function ‘mmdf_copy’:
mmdf.c:1092:7: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1092 |       read (LOCAL->fd,LOCAL->buf,elt->private.special.text.size);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mmdf.c:1119:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1119 |     ftruncate (fd,sbuf.st_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mmdf.c: In function ‘mmdf_append’:
mmdf.c:1289:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1289 |     ftruncate (fd,sbuf.st_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mmdf.c: In function ‘mmdf_rewrite’:
mmdf.c:2303:4: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2303 |    read (LOCAL->fd,LOCAL->buf,elt->private.special.text.size);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mmdf.c:2386:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2386 |     ftruncate (LOCAL->fd,LOCAL->filesize = size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mmdf.c: In function ‘mmdf_extend’:
mmdf.c:2432:2: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2432 |  ftruncate (LOCAL->fd,LOCAL->filesize);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` tenex.c
In file included from tenex.c:47:
tenex.c: In function ‘tenex_rename’:
osdep.h:61:15: warning: implicit declaration of function ‘safe_flock’ [-Wimplicit-function-declaration]
   61 | #define flock safe_flock
      |               ^~~~~~~~~~
tenex.c:318:7: note: in expansion of macro ‘flock’
  318 |   if (flock (fd,LOCK_EX|LOCK_NB)) {
      |       ^~~~~
tenex.c: In function ‘tenex_fast’:
tenex.c:519:4: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  519 |    read (LOCAL->fd,LOCAL->buf,elt->private.msg.full.text.size);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tenex.c: In function ‘tenex_header’:
tenex.c:570:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  570 |     read (LOCAL->fd,LOCAL->buf,*length = i);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tenex.c:575:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  575 |     read (LOCAL->fd,s,i); /* slurp the data */
      |     ^~~~~~~~~~~~~~~~~~~~
tenex.c: In function ‘tenex_text’:
tenex.c:617:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  617 |     read (LOCAL->fd,LOCAL->buf,i);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tenex.c:632:7: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  632 |       read (LOCAL->fd,s,i); /* slurp the data */
      |       ^~~~~~~~~~~~~~~~~~~~
tenex.c: In function ‘tenex_snarf’:
tenex.c:802:2: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  802 |  ftruncate (LOCAL->fd,sbuf.st_size);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tenex.c: In function ‘tenex_expunge’:
tenex.c:893:6: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  893 |      read (LOCAL->fd,LOCAL->buf,m);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tenex.c:920:2: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  920 |  ftruncate (LOCAL->fd,LOCAL->filesize);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tenex.c: In function ‘tenex_copy’:
tenex.c:1011:2: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1011 |  read (LOCAL->fd,LOCAL->buf,j);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tenex.c:1019:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1019 |     ftruncate (fd,sbuf.st_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
tenex.c: In function ‘tenex_append’:
tenex.c:1153:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1153 |     ftruncate (fd,sbuf.st_size);/* revert file */
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
tenex.c: In function ‘tenex_hdrpos’:
tenex.c:1459:2: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1459 |  read (LOCAL->fd,s = LOCAL->buf,i = min (msiz-siz,(long) MAILTMPLEN));
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` mtx.c
In file included from mtx.c:42:
mtx.c: In function ‘mtx_rename’:
osdep.h:61:15: warning: implicit declaration of function ‘safe_flock’ [-Wimplicit-function-declaration]
   61 | #define flock safe_flock
      |               ^~~~~~~~~~
mtx.c:309:7: note: in expansion of macro ‘flock’
  309 |   if (flock (fd,LOCK_EX|LOCK_NB)) {
      |       ^~~~~
mtx.c: In function ‘mtx_header’:
mtx.c:516:3: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  516 |   read (LOCAL->fd,LOCAL->buf,*length);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mtx.c: In function ‘mtx_snarf’:
mtx.c:711:2: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  711 |  ftruncate (LOCAL->fd,sbuf.st_size);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mtx.c: In function ‘mtx_expunge’:
mtx.c:802:6: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  802 |      read (LOCAL->fd,LOCAL->buf,m);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mtx.c:828:2: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  828 |  ftruncate (LOCAL->fd,LOCAL->filesize);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mtx.c: In function ‘mtx_copy’:
mtx.c:919:2: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  919 |  read (LOCAL->fd,LOCAL->buf,j);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mtx.c:927:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  927 |     ftruncate (fd,sbuf.st_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mtx.c: In function ‘mtx_append’:
mtx.c:1054:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1054 |     ftruncate (fd,sbuf.st_size);/* revert file */
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` news.c
news.c: In function ‘news_open’:
news.c:370:36: warning: passing argument 3 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  370 |   if ((nmsgs = scandir (tmp,&names,news_select,news_numsort)) >= 0) {
      |                                    ^~~~~~~~~~~
      |                                    |
      |                                    int (*)(struct dirent *)
In file included from osdep.h:47,
                 from news.c:35:
/usr/include/dirent.h:257:13: note: expected ‘int (*)(const struct dirent *)’ but argument is of type ‘int (*)(struct dirent *)’
  257 |       int (*__selector) (const struct dirent *),
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
news.c:370:48: warning: passing argument 4 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  370 |   if ((nmsgs = scandir (tmp,&names,news_select,news_numsort)) >= 0) {
      |                                                ^~~~~~~~~~~~
      |                                                |
      |                                                int (*)(const void *, const void *)
In file included from osdep.h:47,
                 from news.c:35:
/usr/include/dirent.h:258:13: note: expected ‘int (*)(const struct dirent **, const struct dirent **)’ but argument is of type ‘int (*)(const void *, const void *)’
  258 |       int (*__cmp) (const struct dirent **,
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259 |       const struct dirent **))
      |       ~~~~~~~~~~~~~~~~~~~~~~~
news.c: In function ‘news_valid’:
news.c:161:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  161 |     read (fd,t = s = (char *) fs_get (sbuf.st_size+1),sbuf.st_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
news.c: In function ‘news_list’:
news.c:228:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  228 |     read (fd,s = (char *) fs_get (sbuf.st_size + 1),sbuf.st_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` phile.c
phile.c: In function ‘phile_open’:
phile.c:317:3: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  317 |   read (fd,buf->data = (unsigned char *) fs_get (buf->size + 1),buf->size);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` mh.c
mh.c: In function ‘mh_ping’:
mh.c:862:46: warning: passing argument 3 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  862 |     long nfiles = scandir (LOCAL->dir,&names,mh_select,mh_numsort);
      |                                              ^~~~~~~~~
      |                                              |
      |                                              int (*)(struct dirent *)
In file included from osdep.h:47,
                 from mh.c:32:
/usr/include/dirent.h:257:13: note: expected ‘int (*)(const struct dirent *)’ but argument is of type ‘int (*)(struct dirent *)’
  257 |       int (*__selector) (const struct dirent *),
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mh.c:862:56: warning: passing argument 4 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  862 |     long nfiles = scandir (LOCAL->dir,&names,mh_select,mh_numsort);
      |                                                        ^~~~~~~~~~
      |                                                        |
      |                                                        int (*)(const void *, const void *)
In file included from osdep.h:47,
                 from mh.c:32:
/usr/include/dirent.h:258:13: note: expected ‘int (*)(const struct dirent **, const struct dirent **)’ but argument is of type ‘int (*)(const void *, const void *)’
  258 |       int (*__cmp) (const struct dirent **,
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259 |       const struct dirent **))
      |       ~~~~~~~~~~~~~~~~~~~~~~~
mh.c: In function ‘mh_append’:
mh.c:1128:37: warning: passing argument 3 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
 1128 |   if ((nfiles = scandir (tmp,&names,mh_select,mh_numsort)) > 0) {
      |                                     ^~~~~~~~~
      |                                     |
      |                                     int (*)(struct dirent *)
In file included from osdep.h:47,
                 from mh.c:32:
/usr/include/dirent.h:257:13: note: expected ‘int (*)(const struct dirent *)’ but argument is of type ‘int (*)(struct dirent *)’
  257 |       int (*__selector) (const struct dirent *),
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mh.c:1128:47: warning: passing argument 4 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
 1128 |   if ((nfiles = scandir (tmp,&names,mh_select,mh_numsort)) > 0) {
      |                                               ^~~~~~~~~~
      |                                               |
      |                                               int (*)(const void *, const void *)
In file included from osdep.h:47,
                 from mh.c:32:
/usr/include/dirent.h:258:13: note: expected ‘int (*)(const struct dirent **, const struct dirent **)’ but argument is of type ‘int (*)(const void *, const void *)’
  258 |       int (*__cmp) (const struct dirent **,
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259 |       const struct dirent **))
      |       ~~~~~~~~~~~~~~~~~~~~~~~
mh.c: In function ‘mh_path’:
mh.c:248:7: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  248 |       read (fd,(t = (char *) fs_get (sbuf.st_size + 1)),sbuf.st_size);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` mx.c
mx.c: In function ‘mx_scan_contents’:
mx.c:277:38: warning: passing argument 3 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  277 |   if ((nfiles = scandir (name,&names,mx_select,mx_numsort)) > 0)
      |                                      ^~~~~~~~~
      |                                      |
      |                                      int (*)(struct dirent *)
In file included from osdep.h:47,
                 from mx.c:35:
/usr/include/dirent.h:257:13: note: expected ‘int (*)(const struct dirent *)’ but argument is of type ‘int (*)(struct dirent *)’
  257 |       int (*__selector) (const struct dirent *),
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mx.c:277:48: warning: passing argument 4 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  277 |   if ((nfiles = scandir (name,&names,mx_select,mx_numsort)) > 0)
      |                                                ^~~~~~~~~~
      |                                                |
      |                                                int (*)(const void *, const void *)
In file included from osdep.h:47,
                 from mx.c:35:
/usr/include/dirent.h:258:13: note: expected ‘int (*)(const struct dirent **, const struct dirent **)’ but argument is of type ‘int (*)(const void *, const void *)’
  258 |       int (*__cmp) (const struct dirent **,
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259 |       const struct dirent **))
      |       ~~~~~~~~~~~~~~~~~~~~~~~
mx.c: In function ‘mx_rename’:
mx.c:462:54: warning: passing argument 3 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  462 |       for (i = lasterror = 0,n = scandir (tmp,&names,mx_select,mx_numsort);
      |                                                      ^~~~~~~~~
      |                                                      |
      |                                                      int (*)(struct dirent *)
In file included from osdep.h:47,
                 from mx.c:35:
/usr/include/dirent.h:257:13: note: expected ‘int (*)(const struct dirent *)’ but argument is of type ‘int (*)(struct dirent *)’
  257 |       int (*__selector) (const struct dirent *),
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mx.c:462:64: warning: passing argument 4 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  462 |       for (i = lasterror = 0,n = scandir (tmp,&names,mx_select,mx_numsort);
      |                                                                ^~~~~~~~~~
      |                                                                |
      |                                                                int (*)(const void *, const void *)
In file included from osdep.h:47,
                 from mx.c:35:
/usr/include/dirent.h:258:13: note: expected ‘int (*)(const struct dirent **, const struct dirent **)’ but argument is of type ‘int (*)(const void *, const void *)’
  258 |       int (*__cmp) (const struct dirent **,
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259 |       const struct dirent **))
      |       ~~~~~~~~~~~~~~~~~~~~~~~
mx.c: In function ‘mx_ping’:
mx.c:731:51: warning: passing argument 3 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  731 |     long nfiles = scandir (stream->mailbox,&names,mx_select,mx_numsort);
      |                                                   ^~~~~~~~~
      |                                                   |
      |                                                   int (*)(struct dirent *)
In file included from osdep.h:47,
                 from mx.c:35:
/usr/include/dirent.h:257:13: note: expected ‘int (*)(const struct dirent *)’ but argument is of type ‘int (*)(struct dirent *)’
  257 |       int (*__selector) (const struct dirent *),
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mx.c:731:61: warning: passing argument 4 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  731 |     long nfiles = scandir (stream->mailbox,&names,mx_select,mx_numsort);
      |                                                             ^~~~~~~~~~
      |                                                             |
      |                                                             int (*)(const void *, const void *)
In file included from osdep.h:47,
                 from mx.c:35:
/usr/include/dirent.h:258:13: note: expected ‘int (*)(const struct dirent **, const struct dirent **)’ but argument is of type ‘int (*)(const void *, const void *)’
  258 |       int (*__cmp) (const struct dirent **,
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259 |       const struct dirent **))
      |       ~~~~~~~~~~~~~~~~~~~~~~~
In file included from mx.c:35:
mx.c: In function ‘mx_lockindex’:
osdep.h:61:15: warning: implicit declaration of function ‘safe_flock’ [-Wimplicit-function-declaration]
   61 | #define flock safe_flock
      |               ^~~~~~~~~~
mx.c:1173:5: note: in expansion of macro ‘flock’
 1173 |     flock (LOCAL->fd,LOCK_EX); /* get exclusive lock */
      |     ^~~~~
mx.c: In function ‘mx_header’:
mx.c:636:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  636 |     read (fd,LOCAL->buf,elt->rfc822_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mx.c: In function ‘mx_lockindex’:
mx.c:1177:5: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1177 |     read (LOCAL->fd,s = idx = (char *) fs_get (sbuf.st_size + 1),sbuf.st_size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mx.c: In function ‘mx_unlockindex’:
mx.c:1269:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1269 |     ftruncate (LOCAL->fd,size);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` mix.c
mix.c: In function ‘mix_scan_contents’:
mix.c:322:38: warning: passing argument 3 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  322 |   if ((nfiles = scandir (name,&names,mix_select,mix_msgfsort)) > 0)
      |                                      ^~~~~~~~~~
      |                                      |
      |                                      int (*)(struct dirent *)
In file included from osdep.h:47,
                 from mix.c:31:
/usr/include/dirent.h:257:13: note: expected ‘int (*)(const struct dirent *)’ but argument is of type ‘int (*)(struct dirent *)’
  257 |       int (*__selector) (const struct dirent *),
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mix.c:322:49: warning: passing argument 4 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  322 |   if ((nfiles = scandir (name,&names,mix_select,mix_msgfsort)) > 0)
      |                                                 ^~~~~~~~~~~~
      |                                                 |
      |                                                 int (*)(const void *, const void *)
In file included from osdep.h:47,
                 from mix.c:31:
/usr/include/dirent.h:258:13: note: expected ‘int (*)(const struct dirent **, const struct dirent **)’ but argument is of type ‘int (*)(const void *, const void *)’
  258 |       int (*__cmp) (const struct dirent **,
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259 |       const struct dirent **))
      |       ~~~~~~~~~~~~~~~~~~~~~~~
In file included from mix.c:31:
mix.c: In function ‘mix_delete’:
osdep.h:61:15: warning: implicit declaration of function ‘safe_flock’ [-Wimplicit-function-declaration]
   61 | #define flock safe_flock
      |               ^~~~~~~~~~
mix.c:469:50: note: in expansion of macro ‘flock’
  469 |   else if (((fd = open (tmp,O_RDWR,NIL)) < 0) || flock (fd,LOCK_EX|LOCK_NB))
      |                                                  ^~~~~
mix.c: In function ‘mix_rename’:
mix.c:554:54: warning: passing argument 3 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
  554 |       for (i = lasterror = 0,n = scandir (tmp,&names,mix_rselect,alphasort);
      |                                                      ^~~~~~~~~~~
      |                                                      |
      |                                                      int (*)(struct dirent *)
In file included from osdep.h:47,
                 from mix.c:31:
/usr/include/dirent.h:257:13: note: expected ‘int (*)(const struct dirent *)’ but argument is of type ‘int (*)(struct dirent *)’
  257 |       int (*__selector) (const struct dirent *),
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mix.c: In function ‘mix_expunge’:
mix.c:1052:53: warning: passing argument 3 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
 1052 |       long nfiles = scandir (stream->mailbox,&names,mix_select,mix_msgfsort);
      |                                                     ^~~~~~~~~~
      |                                                     |
      |                                                     int (*)(struct dirent *)
In file included from osdep.h:47,
                 from mix.c:31:
/usr/include/dirent.h:257:13: note: expected ‘int (*)(const struct dirent *)’ but argument is of type ‘int (*)(struct dirent *)’
  257 |       int (*__selector) (const struct dirent *),
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mix.c:1052:64: warning: passing argument 4 of ‘scandir’ from incompatible pointer type [-Wincompatible-pointer-types]
 1052 |       long nfiles = scandir (stream->mailbox,&names,mix_select,mix_msgfsort);
      |                                                                ^~~~~~~~~~~~
      |                                                                |
      |                                                                int (*)(const void *, const void *)
In file included from osdep.h:47,
                 from mix.c:31:
/usr/include/dirent.h:258:13: note: expected ‘int (*)(const struct dirent **, const struct dirent **)’ but argument is of type ‘int (*)(const void *, const void *)’
  258 |       int (*__cmp) (const struct dirent **,
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259 |       const struct dirent **))
      |       ~~~~~~~~~~~~~~~~~~~~~~~
mix.c: In function ‘mix_copy’:
mix.c:1482:2: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1482 |  ftruncate (fd,size); /* revert file */
      |  ^~~~~~~~~~~~~~~~~~~
mix.c: In function ‘mix_append’:
mix.c:1600:4: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1600 |    ftruncate (fd,size); /* revert all writes to file*/
      |    ^~~~~~~~~~~~~~~~~~~
mix.c: In function ‘mix_meta_update’:
mix.c:2223:5: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2223 |     ftruncate (LOCAL->mfd,i); /* and tie off at that point */
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
mix.c: In function ‘mix_index_update’:
mix.c:2271:4: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2271 |    ftruncate (fileno (idxf),sbuf.st_size);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mix.c:2304:16: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2304 |       if (ret) ftruncate (fileno (idxf),ftell (idxf));
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mix.c: In function ‘mix_status_update’:
mix.c:2352:4: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2352 |    ftruncate (fileno (statf),sbuf.st_size);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mix.c:2386:16: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2386 |       if (ret) ftruncate (fileno (statf),ftell (statf));
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mix.c: In function ‘mix_sortcache_update’:
mix.c:2730:16: warning: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2730 |       if (ret) ftruncate (fileno (f),ftell (f));
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`cat CCTYPE` -c `cat CFLAGS` maildir.c
In file included from maildir.c:22:
maildir.h:239:12: error: redefinition of ‘sep1’
  239 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
maildir.h:240:12: error: redefinition of ‘sep2’
  240 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
maildir.h:241:12: error: redefinition of ‘sep3’
  241 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
maildir.h:243:13: error: redefinition of ‘sep’
  243 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
maildir.h:248:16: error: redeclaration of enumerator ‘Draft’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:22:16: note: previous definition of ‘Draft’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:248:23: error: redeclaration of enumerator ‘Flagged’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:22:23: note: previous definition of ‘Flagged’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:248:32: error: redeclaration of enumerator ‘Passed’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:22:32: note: previous definition of ‘Passed’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:248:40: error: redeclaration of enumerator ‘Replied’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:22:40: note: previous definition of ‘Replied’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:248:49: error: redeclaration of enumerator ‘Seen’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:22:49: note: previous definition of ‘Seen’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:248:55: error: redeclaration of enumerator ‘Trashed’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:22:55: note: previous definition of ‘Trashed’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:249:9: error: redeclaration of enumerator ‘EmptyFlag’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:23:9: note: previous definition of ‘EmptyFlag’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:249:20: error: redeclaration of enumerator ‘EndFlags’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:23:20: note: previous definition of ‘EndFlags’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:249:30: error: conflicting types for ‘MdFlagNamesType’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:23:30: note: previous declaration of ‘MdFlagNamesType’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:250:11: error: redefinition of ‘mdimapflags’
  250 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
maildir.h:251:11: error: redefinition of ‘mdkwdflags’
  251 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
maildir.h:254:13: error: redefinition of ‘mdflags’
  254 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
maildir.h:256:12: error: redefinition of ‘cmdflags’
  256 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
maildir.h:264:15: error: redeclaration of enumerator ‘Cur’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:38:15: note: previous definition of ‘Cur’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:264:20: error: redeclaration of enumerator ‘Tmp’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:38:20: note: previous definition of ‘Tmp’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:264:25: error: redeclaration of enumerator ‘New’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:38:25: note: previous definition of ‘New’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:264:30: error: redeclaration of enumerator ‘EndDir’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:38:30: note: previous definition of ‘EndDir’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:264:38: error: conflicting types for ‘DirNamesType’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:38:38: note: previous declaration of ‘DirNamesType’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:265:7: error: redefinition of ‘mdstruct’
  265 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
maildir.h:297:12: error: redefinition of ‘mduid’
  297 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
maildir.h:302:6: error: redefinition of ‘mdlocaldomain’
  302 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
maildir.h:303:7: error: redefinition of ‘mypid’
  303 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
maildir.h:304:14: error: redefinition of ‘mdfpath’
  304 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:78:14: note: previous definition of ‘mdfpath’ was here
   78 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:305:13: error: redefinition of ‘myMdInboxDir’
  305 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:79:13: note: previous definition of ‘myMdInboxDir’ was here
   79 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:306:13: error: redefinition of ‘CourierStyle’
  306 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:80:13: note: previous definition of ‘CourierStyle’ was here
   80 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:310:16: error: redefinition of ‘struct courier_local’
  310 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:84:16: note: originally defined here
   84 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:313:3: error: conflicting types for ‘COURIERLOCAL’
  313 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:87:3: note: previous declaration of ‘COURIERLOCAL’ was here
   87 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:315:16: error: redefinition of ‘struct courier’
  315 | typedef struct courier {
      |                ^~~~~~~
maildir.h:89:16: note: originally defined here
   89 | typedef struct courier {
      |                ^~~~~~~
maildir.h:320:3: error: conflicting types for ‘COURIER_S’
  320 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:94:3: note: previous declaration of ‘COURIER_S’ was here
   94 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:323:16: error: redefinition of ‘struct maildir_local’
  323 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:97:16: note: originally defined here
   97 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:335:3: error: conflicting types for ‘MAILDIRLOCAL’
  335 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:109:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  109 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:340:16: error: redefinition of ‘struct maildir_file_info’
  340 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:114:16: note: originally defined here
  114 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:348:3: error: conflicting types for ‘MAILDIRFILE’
  348 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:122:3: note: previous declaration of ‘MAILDIRFILE’ was here
  122 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:403:16: error: conflicting types for ‘maildir_parse_message’
  403 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
maildir.h:414:7: error: conflicting types for ‘maildir_initial_check’
  414 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
maildir.h:415:16: error: conflicting types for ‘maildir_parse_dir’
  415 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
maildir.h:428:6: error: conflicting types for ‘maildir_get_file’
  428 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
maildir.h:436:6: error: conflicting types for ‘courier_free_cdir’
  436 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:437:12: error: conflicting types for ‘courier_get_cdir’
  437 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
maildir.h:438:5: error: conflicting types for ‘courier_search_list’
  438 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
maildir.h:439:12: error: conflicting types for ‘courier_list_dir’
  439 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
maildir.h:440:6: error: conflicting types for ‘courier_list_info’
  440 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:465:12: error: redefinition of ‘sep1’
  465 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
maildir.h:466:12: error: redefinition of ‘sep2’
  466 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
maildir.h:467:12: error: redefinition of ‘sep3’
  467 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
maildir.h:469:13: error: redefinition of ‘sep’
  469 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
maildir.h:474:16: error: redeclaration of enumerator ‘Draft’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:248:16: note: previous definition of ‘Draft’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:474:23: error: redeclaration of enumerator ‘Flagged’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:248:23: note: previous definition of ‘Flagged’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:474:32: error: redeclaration of enumerator ‘Passed’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:248:32: note: previous definition of ‘Passed’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:474:40: error: redeclaration of enumerator ‘Replied’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:248:40: note: previous definition of ‘Replied’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:474:49: error: redeclaration of enumerator ‘Seen’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:248:49: note: previous definition of ‘Seen’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:474:55: error: redeclaration of enumerator ‘Trashed’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:248:55: note: previous definition of ‘Trashed’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:475:9: error: redeclaration of enumerator ‘EmptyFlag’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:249:9: note: previous definition of ‘EmptyFlag’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:475:20: error: redeclaration of enumerator ‘EndFlags’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:249:20: note: previous definition of ‘EndFlags’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:475:30: error: conflicting types for ‘MdFlagNamesType’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:249:30: note: previous declaration of ‘MdFlagNamesType’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:476:11: error: redefinition of ‘mdimapflags’
  476 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
maildir.h:477:11: error: redefinition of ‘mdkwdflags’
  477 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
maildir.h:480:13: error: redefinition of ‘mdflags’
  480 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
maildir.h:482:12: error: redefinition of ‘cmdflags’
  482 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
maildir.h:490:15: error: redeclaration of enumerator ‘Cur’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:264:15: note: previous definition of ‘Cur’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:490:20: error: redeclaration of enumerator ‘Tmp’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:264:20: note: previous definition of ‘Tmp’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:490:25: error: redeclaration of enumerator ‘New’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:264:25: note: previous definition of ‘New’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:490:30: error: redeclaration of enumerator ‘EndDir’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:264:30: note: previous definition of ‘EndDir’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:490:38: error: conflicting types for ‘DirNamesType’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:264:38: note: previous declaration of ‘DirNamesType’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:491:7: error: redefinition of ‘mdstruct’
  491 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
maildir.h:523:12: error: redefinition of ‘mduid’
  523 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
maildir.h:528:6: error: redefinition of ‘mdlocaldomain’
  528 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
maildir.h:529:7: error: redefinition of ‘mypid’
  529 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
maildir.h:530:14: error: redefinition of ‘mdfpath’
  530 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:304:14: note: previous definition of ‘mdfpath’ was here
  304 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:531:13: error: redefinition of ‘myMdInboxDir’
  531 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:305:13: note: previous definition of ‘myMdInboxDir’ was here
  305 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:532:13: error: redefinition of ‘CourierStyle’
  532 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:306:13: note: previous definition of ‘CourierStyle’ was here
  306 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:536:16: error: redefinition of ‘struct courier_local’
  536 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:310:16: note: originally defined here
  310 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:539:3: error: conflicting types for ‘COURIERLOCAL’
  539 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:313:3: note: previous declaration of ‘COURIERLOCAL’ was here
  313 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:541:16: error: redefinition of ‘struct courier’
  541 | typedef struct courier {
      |                ^~~~~~~
maildir.h:315:16: note: originally defined here
  315 | typedef struct courier {
      |                ^~~~~~~
maildir.h:546:3: error: conflicting types for ‘COURIER_S’
  546 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:320:3: note: previous declaration of ‘COURIER_S’ was here
  320 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:549:16: error: redefinition of ‘struct maildir_local’
  549 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:323:16: note: originally defined here
  323 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:561:3: error: conflicting types for ‘MAILDIRLOCAL’
  561 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:335:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  335 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:566:16: error: redefinition of ‘struct maildir_file_info’
  566 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:340:16: note: originally defined here
  340 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:574:3: error: conflicting types for ‘MAILDIRFILE’
  574 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:348:3: note: previous declaration of ‘MAILDIRFILE’ was here
  348 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:629:16: error: conflicting types for ‘maildir_parse_message’
  629 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
maildir.h:640:7: error: conflicting types for ‘maildir_initial_check’
  640 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
maildir.h:641:16: error: conflicting types for ‘maildir_parse_dir’
  641 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
maildir.h:654:6: error: conflicting types for ‘maildir_get_file’
  654 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
maildir.h:662:6: error: conflicting types for ‘courier_free_cdir’
  662 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:663:12: error: conflicting types for ‘courier_get_cdir’
  663 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
maildir.h:664:5: error: conflicting types for ‘courier_search_list’
  664 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
maildir.h:665:12: error: conflicting types for ‘courier_list_dir’
  665 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
maildir.h:666:6: error: conflicting types for ‘courier_list_info’
  666 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:691:12: error: redefinition of ‘sep1’
  691 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
maildir.h:692:12: error: redefinition of ‘sep2’
  692 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
maildir.h:693:12: error: redefinition of ‘sep3’
  693 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
maildir.h:695:13: error: redefinition of ‘sep’
  695 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
maildir.h:700:16: error: redeclaration of enumerator ‘Draft’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:474:16: note: previous definition of ‘Draft’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:700:23: error: redeclaration of enumerator ‘Flagged’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:474:23: note: previous definition of ‘Flagged’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:700:32: error: redeclaration of enumerator ‘Passed’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:474:32: note: previous definition of ‘Passed’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:700:40: error: redeclaration of enumerator ‘Replied’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:474:40: note: previous definition of ‘Replied’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:700:49: error: redeclaration of enumerator ‘Seen’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:474:49: note: previous definition of ‘Seen’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:700:55: error: redeclaration of enumerator ‘Trashed’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:474:55: note: previous definition of ‘Trashed’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:701:9: error: redeclaration of enumerator ‘EmptyFlag’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:475:9: note: previous definition of ‘EmptyFlag’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:701:20: error: redeclaration of enumerator ‘EndFlags’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:475:20: note: previous definition of ‘EndFlags’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:701:30: error: conflicting types for ‘MdFlagNamesType’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:475:30: note: previous declaration of ‘MdFlagNamesType’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:702:11: error: redefinition of ‘mdimapflags’
  702 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
maildir.h:703:11: error: redefinition of ‘mdkwdflags’
  703 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
maildir.h:706:13: error: redefinition of ‘mdflags’
  706 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
maildir.h:708:12: error: redefinition of ‘cmdflags’
  708 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
maildir.h:716:15: error: redeclaration of enumerator ‘Cur’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:490:15: note: previous definition of ‘Cur’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:716:20: error: redeclaration of enumerator ‘Tmp’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:490:20: note: previous definition of ‘Tmp’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:716:25: error: redeclaration of enumerator ‘New’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:490:25: note: previous definition of ‘New’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:716:30: error: redeclaration of enumerator ‘EndDir’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:490:30: note: previous definition of ‘EndDir’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:716:38: error: conflicting types for ‘DirNamesType’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:490:38: note: previous declaration of ‘DirNamesType’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:717:7: error: redefinition of ‘mdstruct’
  717 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
maildir.h:749:12: error: redefinition of ‘mduid’
  749 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
maildir.h:754:6: error: redefinition of ‘mdlocaldomain’
  754 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
maildir.h:755:7: error: redefinition of ‘mypid’
  755 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
maildir.h:756:14: error: redefinition of ‘mdfpath’
  756 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:530:14: note: previous definition of ‘mdfpath’ was here
  530 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:757:13: error: redefinition of ‘myMdInboxDir’
  757 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:531:13: note: previous definition of ‘myMdInboxDir’ was here
  531 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:758:13: error: redefinition of ‘CourierStyle’
  758 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:532:13: note: previous definition of ‘CourierStyle’ was here
  532 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:762:16: error: redefinition of ‘struct courier_local’
  762 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:536:16: note: originally defined here
  536 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:765:3: error: conflicting types for ‘COURIERLOCAL’
  765 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:539:3: note: previous declaration of ‘COURIERLOCAL’ was here
  539 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:767:16: error: redefinition of ‘struct courier’
  767 | typedef struct courier {
      |                ^~~~~~~
maildir.h:541:16: note: originally defined here
  541 | typedef struct courier {
      |                ^~~~~~~
maildir.h:772:3: error: conflicting types for ‘COURIER_S’
  772 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:546:3: note: previous declaration of ‘COURIER_S’ was here
  546 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:775:16: error: redefinition of ‘struct maildir_local’
  775 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:549:16: note: originally defined here
  549 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:787:3: error: conflicting types for ‘MAILDIRLOCAL’
  787 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:561:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  561 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:792:16: error: redefinition of ‘struct maildir_file_info’
  792 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:566:16: note: originally defined here
  566 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:800:3: error: conflicting types for ‘MAILDIRFILE’
  800 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:574:3: note: previous declaration of ‘MAILDIRFILE’ was here
  574 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:855:16: error: conflicting types for ‘maildir_parse_message’
  855 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
maildir.h:866:7: error: conflicting types for ‘maildir_initial_check’
  866 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
maildir.h:867:16: error: conflicting types for ‘maildir_parse_dir’
  867 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
maildir.h:880:6: error: conflicting types for ‘maildir_get_file’
  880 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
maildir.h:888:6: error: conflicting types for ‘courier_free_cdir’
  888 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:889:12: error: conflicting types for ‘courier_get_cdir’
  889 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
maildir.h:890:5: error: conflicting types for ‘courier_search_list’
  890 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
maildir.h:891:12: error: conflicting types for ‘courier_list_dir’
  891 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
maildir.h:892:6: error: conflicting types for ‘courier_list_info’
  892 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:624:1: error: conflicting types for ‘maildir_initial_check’
  624 | maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype)
      | ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
maildir.c:646:1: error: conflicting types for ‘maildir_parse_dir’
  646 | maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
maildir.c:938:15: error: conflicting types for ‘maildir_parse_message’
  938 | unsigned long maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |               ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
maildir.c:2198:1: error: conflicting types for ‘maildir_get_file’
 2198 | maildir_get_file (MAILDIRFILE **mdfile)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2310:6: error: conflicting types for ‘courier_free_cdir’
 2310 | void courier_free_cdir (COURIER_S **cdir)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2324:12: error: conflicting types for ‘courier_get_cdir’
 2324 | COURIER_S *courier_get_cdir (int total)
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
maildir.c:2336:5: error: conflicting types for ‘courier_search_list’
 2336 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last)
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
maildir.c:2353:12: error: conflicting types for ‘courier_list_dir’
 2353 | COURIER_S *courier_list_dir(char *curdir)
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
maildir.c:2403:1: error: conflicting types for ‘courier_list_info’
 2403 | courier_list_info(COURIER_S **cdirp, char *data, int i)
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:674:26: error: redefinition of ‘struct mail_sizedtext’
  674 | #define SIZEDTEXT struct mail_sizedtext
      |                          ^~~~~~~~~~~~~~
mail.h:676:1: note: in expansion of macro ‘SIZEDTEXT’
  676 | SIZEDTEXT {
      | ^~~~~~~~~
In file included from maildir.c:13:
mail.h:674:26: note: originally defined here
  674 | #define SIZEDTEXT struct mail_sizedtext
      |                          ^~~~~~~~~~~~~~
mail.h:676:1: note: in expansion of macro ‘SIZEDTEXT’
  676 | SIZEDTEXT {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:684:27: error: redefinition of ‘struct string_list’
  684 | #define STRINGLIST struct string_list
      |                           ^~~~~~~~~~~
mail.h:686:1: note: in expansion of macro ‘STRINGLIST’
  686 | STRINGLIST {
      | ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:684:27: note: originally defined here
  684 | #define STRINGLIST struct string_list
      |                           ^~~~~~~~~~~
mail.h:686:1: note: in expansion of macro ‘STRINGLIST’
  686 | STRINGLIST {
      | ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:699:16: error: redefinition of ‘struct net_mailbox’
  699 | typedef struct net_mailbox {
      |                ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:699:16: note: originally defined here
  699 | typedef struct net_mailbox {
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:724:3: error: conflicting types for ‘NETMBX’
  724 | } NETMBX;
      |   ^~~~~~
In file included from maildir.c:13:
mail.h:724:3: note: previous declaration of ‘NETMBX’ was here
  724 | } NETMBX;
      |   ^~~~~~
In file included from maildir.c:2684:
mail.h:736:24: error: redefinition of ‘struct mail_address’
  736 | #define ADDRESS struct mail_address
      |                        ^~~~~~~~~~~~
mail.h:738:1: note: in expansion of macro ‘ADDRESS’
  738 | ADDRESS {
      | ^~~~~~~
In file included from maildir.c:13:
mail.h:736:24: note: originally defined here
  736 | #define ADDRESS struct mail_address
      |                        ^~~~~~~~~~~~
mail.h:738:1: note: in expansion of macro ‘ADDRESS’
  738 | ADDRESS {
      | ^~~~~~~
In file included from maildir.c:2684:
mail.h:754:16: error: redefinition of ‘struct mail_envelope’
  754 | typedef struct mail_envelope {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:754:16: note: originally defined here
  754 | typedef struct mail_envelope {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:774:3: error: conflicting types for ‘ENVELOPE’
  774 | } ENVELOPE;
      |   ^~~~~~~~
In file included from maildir.c:13:
mail.h:774:3: note: previous declaration of ‘ENVELOPE’ was here
  774 | } ENVELOPE;
      |   ^~~~~~~~
In file included from maildir.c:2684:
mail.h:811:25: error: redefinition of ‘struct mail_body_text’
  811 | #define PARTTEXT struct mail_body_text
      |                         ^~~~~~~~~~~~~~
mail.h:815:1: note: in expansion of macro ‘PARTTEXT’
  815 | PARTTEXT {
      | ^~~~~~~~
In file included from maildir.c:13:
mail.h:811:25: note: originally defined here
  811 | #define PARTTEXT struct mail_body_text
      |                         ^~~~~~~~~~~~~~
mail.h:815:1: note: in expansion of macro ‘PARTTEXT’
  815 | PARTTEXT {
      | ^~~~~~~~
In file included from maildir.c:2684:
mail.h:807:21: error: redefinition of ‘struct mail_bodystruct’
  807 | #define BODY struct mail_bodystruct
      |                     ^~~~~~~~~~~~~~~
mail.h:823:1: note: in expansion of macro ‘BODY’
  823 | BODY {
      | ^~~~
In file included from maildir.c:13:
mail.h:807:21: note: originally defined here
  807 | #define BODY struct mail_bodystruct
      |                     ^~~~~~~~~~~~~~~
mail.h:823:1: note: in expansion of macro ‘BODY’
  823 | BODY {
      | ^~~~
In file included from maildir.c:2684:
mail.h:809:26: error: redefinition of ‘struct mail_body_parameter’
  809 | #define PARAMETER struct mail_body_parameter
      |                          ^~~~~~~~~~~~~~~~~~~
mail.h:853:1: note: in expansion of macro ‘PARAMETER’
  853 | PARAMETER {
      | ^~~~~~~~~
In file included from maildir.c:13:
mail.h:809:26: note: originally defined here
  809 | #define PARAMETER struct mail_body_parameter
      |                          ^~~~~~~~~~~~~~~~~~~
mail.h:853:1: note: in expansion of macro ‘PARAMETER’
  853 | PARAMETER {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:810:21: error: redefinition of ‘struct mail_body_part’
  810 | #define PART struct mail_body_part
      |                     ^~~~~~~~~~~~~~
mail.h:862:1: note: in expansion of macro ‘PART’
  862 | PART {
      | ^~~~
In file included from maildir.c:13:
mail.h:810:21: note: originally defined here
  810 | #define PART struct mail_body_part
      |                     ^~~~~~~~~~~~~~
mail.h:862:1: note: in expansion of macro ‘PART’
  862 | PART {
      | ^~~~
In file included from maildir.c:2684:
mail.h:808:24: error: redefinition of ‘struct mail_body_message’
  808 | #define MESSAGE struct mail_body_message
      |                        ^~~~~~~~~~~~~~~~~
mail.h:870:1: note: in expansion of macro ‘MESSAGE’
  870 | MESSAGE {
      | ^~~~~~~
In file included from maildir.c:13:
mail.h:808:24: note: originally defined here
  808 | #define MESSAGE struct mail_body_message
      |                        ^~~~~~~~~~~~~~~~~
mail.h:870:1: note: in expansion of macro ‘MESSAGE’
  870 | MESSAGE {
      | ^~~~~~~
In file included from maildir.c:2684:
mail.h:881:16: error: redefinition of ‘struct message_cache’
  881 | typedef struct message_cache {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:881:16: note: originally defined here
  881 | typedef struct message_cache {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:931:3: error: conflicting types for ‘MESSAGECACHE’
  931 | } MESSAGECACHE;
      |   ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:931:3: note: previous declaration of ‘MESSAGECACHE’ was here
  931 | } MESSAGECACHE;
      |   ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:937:16: error: redefinition of ‘struct mailstring’
  937 | typedef struct mailstring {
      |                ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:937:16: note: originally defined here
  937 | typedef struct mailstring {
      |                ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:947:3: error: conflicting types for ‘STRING’
  947 | } STRING;
      |   ^~~~~~
In file included from maildir.c:13:
mail.h:947:3: note: previous declaration of ‘STRING’ was here
  947 | } STRING;
      |   ^~~~~~
In file included from maildir.c:2684:
mail.h:935:29: error: redefinition of ‘struct string_driver’
  935 | #define STRINGDRIVER struct string_driver
      |                             ^~~~~~~~~~~~~
mail.h:952:1: note: in expansion of macro ‘STRINGDRIVER’
  952 | STRINGDRIVER {
      | ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:935:29: note: originally defined here
  935 | #define STRINGDRIVER struct string_driver
      |                             ^~~~~~~~~~~~~
mail.h:952:1: note: in expansion of macro ‘STRINGDRIVER’
  952 | STRINGDRIVER {
      | ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:974:29: error: redefinition of ‘struct search_header’
  974 | #define SEARCHHEADER struct search_header
      |                             ^~~~~~~~~~~~~
mail.h:980:1: note: in expansion of macro ‘SEARCHHEADER’
  980 | SEARCHHEADER {   /* header search */
      | ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:974:29: note: originally defined here
  974 | #define SEARCHHEADER struct search_header
      |                             ^~~~~~~~~~~~~
mail.h:980:1: note: in expansion of macro ‘SEARCHHEADER’
  980 | SEARCHHEADER {   /* header search */
      | ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:975:26: error: redefinition of ‘struct search_set’
  975 | #define SEARCHSET struct search_set
      |                          ^~~~~~~~~~
mail.h:987:1: note: in expansion of macro ‘SEARCHSET’
  987 | SEARCHSET {   /* message set */
      | ^~~~~~~~~
In file included from maildir.c:13:
mail.h:975:26: note: originally defined here
  975 | #define SEARCHSET struct search_set
      |                          ^~~~~~~~~~
mail.h:987:1: note: in expansion of macro ‘SEARCHSET’
  987 | SEARCHSET {   /* message set */
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:976:25: error: redefinition of ‘struct search_or’
  976 | #define SEARCHOR struct search_or
      |                         ^~~~~~~~~
mail.h:994:1: note: in expansion of macro ‘SEARCHOR’
  994 | SEARCHOR {
      | ^~~~~~~~
In file included from maildir.c:13:
mail.h:976:25: note: originally defined here
  976 | #define SEARCHOR struct search_or
      |                         ^~~~~~~~~
mail.h:994:1: note: in expansion of macro ‘SEARCHOR’
  994 | SEARCHOR {
      | ^~~~~~~~
In file included from maildir.c:2684:
mail.h:977:30: error: redefinition of ‘struct search_pgm_list’
  977 | #define SEARCHPGMLIST struct search_pgm_list
      |                              ^~~~~~~~~~~~~~~
mail.h:1001:1: note: in expansion of macro ‘SEARCHPGMLIST’
 1001 | SEARCHPGMLIST {
      | ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:977:30: note: originally defined here
  977 | #define SEARCHPGMLIST struct search_pgm_list
      |                              ^~~~~~~~~~~~~~~
mail.h:1001:1: note: in expansion of macro ‘SEARCHPGMLIST’
 1001 | SEARCHPGMLIST {
      | ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:973:26: error: redefinition of ‘struct search_program’
  973 | #define SEARCHPGM struct search_program
      |                          ^~~~~~~~~~~~~~
mail.h:1006:1: note: in expansion of macro ‘SEARCHPGM’
 1006 | SEARCHPGM {   /* search program */
      | ^~~~~~~~~
In file included from maildir.c:13:
mail.h:973:26: note: originally defined here
  973 | #define SEARCHPGM struct search_program
      |                          ^~~~~~~~~~~~~~
mail.h:1006:1: note: in expansion of macro ‘SEARCHPGM’
 1006 | SEARCHPGM {   /* search program */
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1058:16: error: redefinition of ‘struct mbx_status’
 1058 | typedef struct mbx_status {
      |                ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1058:16: note: originally defined here
 1058 | typedef struct mbx_status {
      |                ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1065:3: error: conflicting types for ‘MAILSTATUS’
 1065 | } MAILSTATUS;
      |   ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1065:3: note: previous declaration of ‘MAILSTATUS’ was here
 1065 | } MAILSTATUS;
      |   ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1071:24: error: redefinition of ‘struct sort_program’
 1071 | #define SORTPGM struct sort_program
      |                        ^~~~~~~~~~~~
mail.h:1073:1: note: in expansion of macro ‘SORTPGM’
 1073 | SORTPGM {
      | ^~~~~~~
In file included from maildir.c:13:
mail.h:1071:24: note: originally defined here
 1071 | #define SORTPGM struct sort_program
      |                        ^~~~~~~~~~~~
mail.h:1073:1: note: in expansion of macro ‘SORTPGM’
 1073 | SORTPGM {
      | ^~~~~~~
In file included from maildir.c:2684:
mail.h:1090:26: error: redefinition of ‘struct sort_cache’
 1090 | #define SORTCACHE struct sort_cache
      |                          ^~~~~~~~~~
mail.h:1092:1: note: in expansion of macro ‘SORTCACHE’
 1092 | SORTCACHE {
      | ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1090:26: note: originally defined here
 1090 | #define SORTCACHE struct sort_cache
      |                          ^~~~~~~~~~
mail.h:1092:1: note: in expansion of macro ‘SORTCACHE’
 1092 | SORTCACHE {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1113:24: error: redefinition of ‘struct acl_list’
 1113 | #define ACLLIST struct acl_list
      |                        ^~~~~~~~
mail.h:1115:1: note: in expansion of macro ‘ACLLIST’
 1115 | ACLLIST {
      | ^~~~~~~
In file included from maildir.c:13:
mail.h:1113:24: note: originally defined here
 1113 | #define ACLLIST struct acl_list
      |                        ^~~~~~~~
mail.h:1115:1: note: in expansion of macro ‘ACLLIST’
 1115 | ACLLIST {
      | ^~~~~~~
In file included from maildir.c:2684:
mail.h:1123:26: error: redefinition of ‘struct quota_list’
 1123 | #define QUOTALIST struct quota_list
      |                          ^~~~~~~~~~
mail.h:1125:1: note: in expansion of macro ‘QUOTALIST’
 1125 | QUOTALIST {
      | ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1123:26: note: originally defined here
 1123 | #define QUOTALIST struct quota_list
      |                          ^~~~~~~~~~
mail.h:1125:1: note: in expansion of macro ‘QUOTALIST’
 1125 | QUOTALIST {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1134:23: error: redefinition of ‘struct id_list’
 1134 | #define IDLIST struct id_list
      |                       ^~~~~~~
mail.h:1136:1: note: in expansion of macro ‘IDLIST’
 1136 | IDLIST {
      | ^~~~~~
In file included from maildir.c:13:
mail.h:1134:23: note: originally defined here
 1134 | #define IDLIST struct id_list
      |                       ^~~~~~~
mail.h:1136:1: note: in expansion of macro ‘IDLIST’
 1136 | IDLIST {
      | ^~~~~~
In file included from maildir.c:2684:
mail.h:1152:16: error: redefinition of ‘struct mail_stream’
 1152 | typedef struct mail_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1152:16: note: originally defined here
 1152 | typedef struct mail_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1217:3: error: conflicting types for ‘MAILSTREAM’
 1217 | } MAILSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1217:3: note: previous declaration of ‘MAILSTREAM’ was here
 1217 | } MAILSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1221:16: error: redefinition of ‘struct mail_stream_handle’
 1221 | typedef struct mail_stream_handle {
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1221:16: note: originally defined here
 1221 | typedef struct mail_stream_handle {
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1224:3: error: conflicting types for ‘MAILHANDLE’
 1224 | } MAILHANDLE;
      |   ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1224:3: note: previous declaration of ‘MAILHANDLE’ was here
 1224 | } MAILHANDLE;
      |   ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1229:16: error: redefinition of ‘struct mail_overview’
 1229 | typedef struct mail_overview {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1229:16: note: originally defined here
 1229 | typedef struct mail_overview {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1240:3: error: conflicting types for ‘OVERVIEW’
 1240 | } OVERVIEW;
      |   ^~~~~~~~
In file included from maildir.c:13:
mail.h:1240:3: note: previous declaration of ‘OVERVIEW’ was here
 1240 | } OVERVIEW;
      |   ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1252:16: error: redefinition of ‘struct net_stream’
 1252 | typedef struct net_stream {
      |                ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1252:16: note: originally defined here
 1252 | typedef struct net_stream {
      |                ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1255:3: error: conflicting types for ‘NETSTREAM’
 1255 | } NETSTREAM;
      |   ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1255:3: note: previous declaration of ‘NETSTREAM’ was here
 1255 | } NETSTREAM;
      |   ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1247:26: error: redefinition of ‘struct net_driver’
 1247 | #define NETDRIVER struct net_driver
      |                          ^~~~~~~~~~
mail.h:1260:1: note: in expansion of macro ‘NETDRIVER’
 1260 | NETDRIVER {
      | ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1247:26: note: originally defined here
 1247 | #define NETDRIVER struct net_driver
      |                          ^~~~~~~~~~
mail.h:1260:1: note: in expansion of macro ‘NETDRIVER’
 1260 | NETDRIVER {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1278:16: error: redefinition of ‘struct getsdata’
 1278 | typedef struct getsdata {
      |                ^~~~~~~~
In file included from maildir.c:13:
mail.h:1278:16: note: originally defined here
 1278 | typedef struct getsdata {
      |                ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1286:3: error: conflicting types for ‘GETS_DATA’
 1286 | } GETS_DATA;
      |   ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1286:3: note: previous declaration of ‘GETS_DATA’ was here
 1286 | } GETS_DATA;
      |   ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1295:16: error: redefinition of ‘struct send_stream’
 1295 | typedef struct send_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1295:16: note: originally defined here
 1295 | typedef struct send_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1375:3: error: conflicting types for ‘SENDSTREAM’
 1375 | } SENDSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1375:3: note: previous declaration of ‘SENDSTREAM’ was here
 1375 | } SENDSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1380:17: error: conflicting types for ‘mailgets_t’
 1380 | typedef char *(*mailgets_t) (readfn_t f,void *stream,unsigned long size,
      |                 ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1380:17: note: previous declaration of ‘mailgets_t’ was here
 1380 | typedef char *(*mailgets_t) (readfn_t f,void *stream,unsigned long size,
      |                 ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1382:17: error: conflicting types for ‘readprogress_t’
 1382 | typedef char *(*readprogress_t) (GETS_DATA *md,unsigned long octets);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1382:17: note: previous declaration of ‘readprogress_t’ was here
 1382 | typedef char *(*readprogress_t) (GETS_DATA *md,unsigned long octets);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1383:17: error: conflicting types for ‘mailcache_t’
 1383 | typedef void *(*mailcache_t) (MAILSTREAM *stream,unsigned long msgno,long op);
      |                 ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1383:17: note: previous declaration of ‘mailcache_t’ was here
 1383 | typedef void *(*mailcache_t) (MAILSTREAM *stream,unsigned long msgno,long op);
      |                 ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1384:16: error: conflicting types for ‘mailproxycopy_t’
 1384 | typedef long (*mailproxycopy_t) (MAILSTREAM *stream,char *sequence,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1384:16: note: previous declaration of ‘mailproxycopy_t’ was here
 1384 | typedef long (*mailproxycopy_t) (MAILSTREAM *stream,char *sequence,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1391:16: error: conflicting types for ‘authclient_t’
 1391 | typedef long (*authclient_t) (authchallenge_t challenger,
      |                ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1391:16: note: previous declaration of ‘authclient_t’ was here
 1391 | typedef long (*authclient_t) (authchallenge_t challenger,
      |                ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1398:16: error: conflicting types for ‘imapenvelope_t’
 1398 | typedef void (*imapenvelope_t) (MAILSTREAM *stream,unsigned long msgno,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1398:16: note: previous declaration of ‘imapenvelope_t’ was here
 1398 | typedef void (*imapenvelope_t) (MAILSTREAM *stream,unsigned long msgno,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1400:17: error: conflicting types for ‘imapreferral_t’
 1400 | typedef char *(*imapreferral_t) (MAILSTREAM *stream,char *url,long code);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1400:17: note: previous declaration of ‘imapreferral_t’ was here
 1400 | typedef char *(*imapreferral_t) (MAILSTREAM *stream,char *url,long code);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1401:16: error: conflicting types for ‘overview_t’
 1401 | typedef void (*overview_t) (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |                ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1401:16: note: previous declaration of ‘overview_t’ was here
 1401 | typedef void (*overview_t) (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |                ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1403:26: error: conflicting types for ‘sorter_t’
 1403 | typedef unsigned long *(*sorter_t) (MAILSTREAM *stream,char *charset,
      |                          ^~~~~~~~
In file included from maildir.c:13:
mail.h:1403:26: note: previous declaration of ‘sorter_t’ was here
 1403 | typedef unsigned long *(*sorter_t) (MAILSTREAM *stream,char *charset,
      |                          ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1405:16: error: conflicting types for ‘parseline_t’
 1405 | typedef void (*parseline_t) (ENVELOPE *env,char *hdr,char *data,char *host);
      |                ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1405:16: note: previous declaration of ‘parseline_t’ was here
 1405 | typedef void (*parseline_t) (ENVELOPE *env,char *hdr,char *data,char *host);
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1406:20: error: conflicting types for ‘parsephrase_t’
 1406 | typedef ADDRESS *(*parsephrase_t) (char *phrase,char *end,char *host);
      |                    ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1406:20: note: previous declaration of ‘parsephrase_t’ was here
 1406 | typedef ADDRESS *(*parsephrase_t) (char *phrase,char *end,char *host);
      |                    ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1409:16: error: conflicting types for ‘sendcommand_t’
 1409 | typedef void (*sendcommand_t) (MAILSTREAM *stream,char *cmd,long flags);
      |                ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1409:16: note: previous declaration of ‘sendcommand_t’ was here
 1409 | typedef void (*sendcommand_t) (MAILSTREAM *stream,char *cmd,long flags);
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1410:17: error: conflicting types for ‘newsrcquery_t’
 1410 | typedef char *(*newsrcquery_t) (MAILSTREAM *stream,char *mulname,char *name);
      |                 ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1410:17: note: previous declaration of ‘newsrcquery_t’ was here
 1410 | typedef char *(*newsrcquery_t) (MAILSTREAM *stream,char *mulname,char *name);
      |                 ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1411:16: error: conflicting types for ‘getacl_t’
 1411 | typedef void (*getacl_t) (MAILSTREAM *stream,char *mailbox,ACLLIST *acl);
      |                ^~~~~~~~
In file included from maildir.c:13:
mail.h:1411:16: note: previous declaration of ‘getacl_t’ was here
 1411 | typedef void (*getacl_t) (MAILSTREAM *stream,char *mailbox,ACLLIST *acl);
      |                ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1412:16: error: conflicting types for ‘listrights_t’
 1412 | typedef void (*listrights_t) (MAILSTREAM *stream,char *mailbox,char *id,
      |                ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1412:16: note: previous declaration of ‘listrights_t’ was here
 1412 | typedef void (*listrights_t) (MAILSTREAM *stream,char *mailbox,char *id,
      |                ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1414:16: error: conflicting types for ‘myrights_t’
 1414 | typedef void (*myrights_t) (MAILSTREAM *stream,char *mailbox,char *rights);
      |                ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1414:16: note: previous declaration of ‘myrights_t’ was here
 1414 | typedef void (*myrights_t) (MAILSTREAM *stream,char *mailbox,char *rights);
      |                ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1415:16: error: conflicting types for ‘quota_t’
 1415 | typedef void (*quota_t) (MAILSTREAM *stream,char *qroot,QUOTALIST *qlist);
      |                ^~~~~~~
In file included from maildir.c:13:
mail.h:1415:16: note: previous declaration of ‘quota_t’ was here
 1415 | typedef void (*quota_t) (MAILSTREAM *stream,char *qroot,QUOTALIST *qlist);
      |                ^~~~~~~
In file included from maildir.c:2684:
mail.h:1416:16: error: conflicting types for ‘quotaroot_t’
 1416 | typedef void (*quotaroot_t) (MAILSTREAM *stream,char *mbx,STRINGLIST *qroot);
      |                ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1416:16: note: previous declaration of ‘quotaroot_t’ was here
 1416 | typedef void (*quotaroot_t) (MAILSTREAM *stream,char *mbx,STRINGLIST *qroot);
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1417:16: error: conflicting types for ‘sortresults_t’
 1417 | typedef void (*sortresults_t) (MAILSTREAM *stream,unsigned long *list,
      |                ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1417:16: note: previous declaration of ‘sortresults_t’ was here
 1417 | typedef void (*sortresults_t) (MAILSTREAM *stream,unsigned long *list,
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1420:16: error: conflicting types for ‘append_t’
 1420 | typedef long (*append_t) (MAILSTREAM *stream,void *data,char **flags,
      |                ^~~~~~~~
In file included from maildir.c:13:
mail.h:1420:16: note: previous declaration of ‘append_t’ was here
 1420 | typedef long (*append_t) (MAILSTREAM *stream,void *data,char **flags,
      |                ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1422:16: error: conflicting types for ‘copyuid_t’
 1422 | typedef void (*copyuid_t) (MAILSTREAM *stream,char *mailbox,
      |                ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1422:16: note: previous declaration of ‘copyuid_t’ was here
 1422 | typedef void (*copyuid_t) (MAILSTREAM *stream,char *mailbox,
      |                ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1425:16: error: conflicting types for ‘appenduid_t’
 1425 | typedef void (*appenduid_t) (char *mailbox,unsigned long uidvalidity,
      |                ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1425:16: note: previous declaration of ‘appenduid_t’ was here
 1425 | typedef void (*appenduid_t) (char *mailbox,unsigned long uidvalidity,
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1453:27: error: redefinition of ‘struct thread_node’
 1453 | #define THREADNODE struct thread_node
      |                           ^~~~~~~~~~~
mail.h:1455:1: note: in expansion of macro ‘THREADNODE’
 1455 | THREADNODE {
      | ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1453:27: note: originally defined here
 1453 | #define THREADNODE struct thread_node
      |                           ^~~~~~~~~~~
mail.h:1455:1: note: in expansion of macro ‘THREADNODE’
 1455 | THREADNODE {
      | ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1462:16: error: conflicting types for ‘threadresults_t’
 1462 | typedef void (*threadresults_t) (MAILSTREAM *stream,THREADNODE *tree);
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1462:16: note: previous declaration of ‘threadresults_t’ was here
 1462 | typedef void (*threadresults_t) (MAILSTREAM *stream,THREADNODE *tree);
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1467:25: error: redefinition of ‘struct threader_list’
 1467 | #define THREADER struct threader_list
      |                         ^~~~~~~~~~~~~
mail.h:1469:1: note: in expansion of macro ‘THREADER’
 1469 | THREADER {
      | ^~~~~~~~
In file included from maildir.c:13:
mail.h:1467:25: note: originally defined here
 1467 | #define THREADER struct threader_list
      |                         ^~~~~~~~~~~~~
mail.h:1469:1: note: in expansion of macro ‘THREADER’
 1469 | THREADER {
      | ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1483:26: error: redefinition of ‘struct mail_namespace’
 1483 | #define NAMESPACE struct mail_namespace
      |                          ^~~~~~~~~~~~~~
mail.h:1485:1: note: in expansion of macro ‘NAMESPACE’
 1485 | NAMESPACE {
      | ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1483:26: note: originally defined here
 1483 | #define NAMESPACE struct mail_namespace
      |                          ^~~~~~~~~~~~~~
mail.h:1485:1: note: in expansion of macro ‘NAMESPACE’
 1485 | NAMESPACE {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1495:30: error: redefinition of ‘struct mail_authenticator’
 1495 | #define AUTHENTICATOR struct mail_authenticator
      |                              ^~~~~~~~~~~~~~~~~~
mail.h:1497:1: note: in expansion of macro ‘AUTHENTICATOR’
 1497 | AUTHENTICATOR {
      | ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1495:30: note: originally defined here
 1495 | #define AUTHENTICATOR struct mail_authenticator
      |                              ^~~~~~~~~~~~~~~~~~
mail.h:1497:1: note: in expansion of macro ‘AUTHENTICATOR’
 1497 | AUTHENTICATOR {
      | ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1147:23: error: redefinition of ‘struct driver’
 1147 | #define DRIVER struct driver
      |                       ^~~~~~
mail.h:1508:1: note: in expansion of macro ‘DRIVER’
 1508 | DRIVER {
      | ^~~~~~
In file included from maildir.c:13:
mail.h:1147:23: note: originally defined here
 1147 | #define DRIVER struct driver
      |                       ^~~~~~
mail.h:1508:1: note: in expansion of macro ‘DRIVER’
 1508 | DRIVER {
      | ^~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:1:15: error: conflicting types for ‘mboxdriver’
    1 | extern DRIVER mboxdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:1:15: note: previous declaration of ‘mboxdriver’ was here
    1 | extern DRIVER mboxdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:2:15: error: conflicting types for ‘maildirdriver’
    2 | extern DRIVER maildirdriver;
      |               ^~~~~~~~~~~~~
maildir.c:25:8: note: previous definition of ‘maildirdriver’ was here
   25 | DRIVER maildirdriver = {
      |        ^~~~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:3:15: error: conflicting types for ‘courierdriver’
    3 | extern DRIVER courierdriver;
      |               ^~~~~~~~~~~~~
maildir.c:65:8: note: previous definition of ‘courierdriver’ was here
   65 | DRIVER courierdriver = {
      |        ^~~~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:4:15: error: conflicting types for ‘imapdriver’
    4 | extern DRIVER imapdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:4:15: note: previous declaration of ‘imapdriver’ was here
    4 | extern DRIVER imapdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:5:15: error: conflicting types for ‘nntpdriver’
    5 | extern DRIVER nntpdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:5:15: note: previous declaration of ‘nntpdriver’ was here
    5 | extern DRIVER nntpdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:6:15: error: conflicting types for ‘pop3driver’
    6 | extern DRIVER pop3driver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:6:15: note: previous declaration of ‘pop3driver’ was here
    6 | extern DRIVER pop3driver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:7:15: error: conflicting types for ‘mixdriver’
    7 | extern DRIVER mixdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:7:15: note: previous declaration of ‘mixdriver’ was here
    7 | extern DRIVER mixdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:8:15: error: conflicting types for ‘mxdriver’
    8 | extern DRIVER mxdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:8:15: note: previous declaration of ‘mxdriver’ was here
    8 | extern DRIVER mxdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:9:15: error: conflicting types for ‘mbxdriver’
    9 | extern DRIVER mbxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:9:15: note: previous declaration of ‘mbxdriver’ was here
    9 | extern DRIVER mbxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:10:15: error: conflicting types for ‘tenexdriver’
   10 | extern DRIVER tenexdriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:10:15: note: previous declaration of ‘tenexdriver’ was here
   10 | extern DRIVER tenexdriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:11:15: error: conflicting types for ‘mtxdriver’
   11 | extern DRIVER mtxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:11:15: note: previous declaration of ‘mtxdriver’ was here
   11 | extern DRIVER mtxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:12:15: error: conflicting types for ‘mhdriver’
   12 | extern DRIVER mhdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:12:15: note: previous declaration of ‘mhdriver’ was here
   12 | extern DRIVER mhdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:13:15: error: conflicting types for ‘mmdfdriver’
   13 | extern DRIVER mmdfdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:13:15: note: previous declaration of ‘mmdfdriver’ was here
   13 | extern DRIVER mmdfdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:14:15: error: conflicting types for ‘unixdriver’
   14 | extern DRIVER unixdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:14:15: note: previous declaration of ‘unixdriver’ was here
   14 | extern DRIVER unixdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:15:15: error: conflicting types for ‘newsdriver’
   15 | extern DRIVER newsdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:15:15: note: previous declaration of ‘newsdriver’ was here
   15 | extern DRIVER newsdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:16:15: error: conflicting types for ‘philedriver’
   16 | extern DRIVER philedriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:16:15: note: previous declaration of ‘philedriver’ was here
   16 | extern DRIVER philedriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:17:15: error: conflicting types for ‘dummydriver’
   17 | extern DRIVER dummydriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:17:15: note: previous declaration of ‘dummydriver’ was here
   17 | extern DRIVER dummydriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:18:22: error: conflicting types for ‘auth_gss’
   18 | extern AUTHENTICATOR auth_gss;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:18:22: note: previous declaration of ‘auth_gss’ was here
   18 | extern AUTHENTICATOR auth_gss;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:19:22: error: conflicting types for ‘auth_ext’
   19 | extern AUTHENTICATOR auth_ext;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:19:22: note: previous declaration of ‘auth_ext’ was here
   19 | extern AUTHENTICATOR auth_ext;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:20:22: error: conflicting types for ‘auth_md5’
   20 | extern AUTHENTICATOR auth_md5;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:20:22: note: previous declaration of ‘auth_md5’ was here
   20 | extern AUTHENTICATOR auth_md5;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:21:22: error: conflicting types for ‘auth_pla’
   21 | extern AUTHENTICATOR auth_pla;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:21:22: note: previous declaration of ‘auth_pla’ was here
   21 | extern AUTHENTICATOR auth_pla;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:22:22: error: conflicting types for ‘auth_log’
   22 | extern AUTHENTICATOR auth_log;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:22:22: note: previous declaration of ‘auth_log’ was here
   22 | extern AUTHENTICATOR auth_log;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:23:22: error: conflicting types for ‘auth_bea’
   23 | extern AUTHENTICATOR auth_bea;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:23:22: note: previous declaration of ‘auth_bea’ was here
   23 | extern AUTHENTICATOR auth_bea;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:2684:
linkage.h:24:22: error: conflicting types for ‘auth_oa2’
   24 | extern AUTHENTICATOR auth_oa2;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:24:22: note: previous declaration of ‘auth_oa2’ was here
   24 | extern AUTHENTICATOR auth_oa2;
      |                      ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1672:6: error: conflicting types for ‘mm_searched’
 1672 | void mm_searched (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1672:6: note: previous declaration of ‘mm_searched’ was here
 1672 | void mm_searched (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1673:6: error: conflicting types for ‘mm_exists’
 1673 | void mm_exists (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1673:6: note: previous declaration of ‘mm_exists’ was here
 1673 | void mm_exists (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1674:6: error: conflicting types for ‘mm_expunged’
 1674 | void mm_expunged (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1674:6: note: previous declaration of ‘mm_expunged’ was here
 1674 | void mm_expunged (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1675:6: error: conflicting types for ‘mm_flags’
 1675 | void mm_flags (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~
In file included from maildir.c:13:
mail.h:1675:6: note: previous declaration of ‘mm_flags’ was here
 1675 | void mm_flags (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1676:6: error: conflicting types for ‘mm_notify’
 1676 | void mm_notify (MAILSTREAM *stream,char *string,long errflg);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1676:6: note: previous declaration of ‘mm_notify’ was here
 1676 | void mm_notify (MAILSTREAM *stream,char *string,long errflg);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1677:6: error: conflicting types for ‘mm_list’
 1677 | void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:13:
mail.h:1677:6: note: previous declaration of ‘mm_list’ was here
 1677 | void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:2684:
mail.h:1678:6: error: conflicting types for ‘mm_lsub’
 1678 | void mm_lsub (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:13:
mail.h:1678:6: note: previous declaration of ‘mm_lsub’ was here
 1678 | void mm_lsub (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:2684:
mail.h:1679:6: error: conflicting types for ‘mm_status’
 1679 | void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1679:6: note: previous declaration of ‘mm_status’ was here
 1679 | void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1682:6: error: conflicting types for ‘mm_login’
 1682 | void mm_login (NETMBX *mb,char *user,char **pwd,long trial);
      |      ^~~~~~~~
In file included from maildir.c:13:
mail.h:1682:6: note: previous declaration of ‘mm_login’ was here
 1682 | void mm_login (NETMBX *mb,char *user,char **pwd,long trial);
      |      ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1683:6: error: conflicting types for ‘mm_login_method’
 1683 | void mm_login_method (NETMBX *mb,char *user, void *info,long trial, char *method);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1683:6: note: previous declaration of ‘mm_login_method’ was here
 1683 | void mm_login_method (NETMBX *mb,char *user, void *info,long trial, char *method);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1684:6: error: conflicting types for ‘mm_critical’
 1684 | void mm_critical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1684:6: note: previous declaration of ‘mm_critical’ was here
 1684 | void mm_critical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1685:6: error: conflicting types for ‘mm_nocritical’
 1685 | void mm_nocritical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1685:6: note: previous declaration of ‘mm_nocritical’ was here
 1685 | void mm_nocritical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1686:6: error: conflicting types for ‘mm_diskerror’
 1686 | long mm_diskerror (MAILSTREAM *stream,long errcode,long serious);
      |      ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1686:6: note: previous declaration of ‘mm_diskerror’ was here
 1686 | long mm_diskerror (MAILSTREAM *stream,long errcode,long serious);
      |      ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1688:7: error: conflicting types for ‘mm_cache’
 1688 | void *mm_cache (MAILSTREAM *stream,unsigned long msgno,long op);
      |       ^~~~~~~~
In file included from maildir.c:13:
mail.h:1688:7: note: previous declaration of ‘mm_cache’ was here
 1688 | void *mm_cache (MAILSTREAM *stream,unsigned long msgno,long op);
      |       ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1690:21: error: conflicting types for ‘mail_string’
 1690 | extern STRINGDRIVER mail_string;
      |                     ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1690:21: note: previous declaration of ‘mail_string’ was here
 1690 | extern STRINGDRIVER mail_string;
      |                     ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1692:6: error: conflicting types for ‘mail_link’
 1692 | void mail_link (DRIVER *driver);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1692:6: note: previous declaration of ‘mail_link’ was here
 1692 | void mail_link (DRIVER *driver);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1693:7: error: conflicting types for ‘mail_parameters’
 1693 | void *mail_parameters (MAILSTREAM *stream,long function,void *value);
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1693:7: note: previous declaration of ‘mail_parameters’ was here
 1693 | void *mail_parameters (MAILSTREAM *stream,long function,void *value);
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1694:9: error: conflicting types for ‘mail_valid’
 1694 | DRIVER *mail_valid (MAILSTREAM *stream,char *mailbox,char *purpose);
      |         ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1694:9: note: previous declaration of ‘mail_valid’ was here
 1694 | DRIVER *mail_valid (MAILSTREAM *stream,char *mailbox,char *purpose);
      |         ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1695:9: error: conflicting types for ‘mail_valid_net’
 1695 | DRIVER *mail_valid_net (char *name,DRIVER *drv,char *host,char *mailbox);
      |         ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1695:9: note: previous declaration of ‘mail_valid_net’ was here
 1695 | DRIVER *mail_valid_net (char *name,DRIVER *drv,char *host,char *mailbox);
      |         ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1696:6: error: conflicting types for ‘mail_valid_net_parse’
 1696 | long mail_valid_net_parse (char *name,NETMBX *mb);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1696:6: note: previous declaration of ‘mail_valid_net_parse’ was here
 1696 | long mail_valid_net_parse (char *name,NETMBX *mb);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1697:6: error: conflicting types for ‘mail_valid_net_parse_work’
 1697 | long mail_valid_net_parse_work (char *name,NETMBX *mb,char *service);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1697:6: note: previous declaration of ‘mail_valid_net_parse_work’ was here
 1697 | long mail_valid_net_parse_work (char *name,NETMBX *mb,char *service);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1698:6: error: conflicting types for ‘mail_scan’
 1698 | void mail_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1698:6: note: previous declaration of ‘mail_scan’ was here
 1698 | void mail_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1699:6: error: conflicting types for ‘mail_list’
 1699 | void mail_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1699:6: note: previous declaration of ‘mail_list’ was here
 1699 | void mail_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1700:6: error: conflicting types for ‘mail_lsub’
 1700 | void mail_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1700:6: note: previous declaration of ‘mail_lsub’ was here
 1700 | void mail_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1701:6: error: conflicting types for ‘mail_subscribe’
 1701 | long mail_subscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1701:6: note: previous declaration of ‘mail_subscribe’ was here
 1701 | long mail_subscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1702:6: error: conflicting types for ‘mail_unsubscribe’
 1702 | long mail_unsubscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1702:6: note: previous declaration of ‘mail_unsubscribe’ was here
 1702 | long mail_unsubscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1703:6: error: conflicting types for ‘mail_create’
 1703 | long mail_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1703:6: note: previous declaration of ‘mail_create’ was here
 1703 | long mail_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1704:6: error: conflicting types for ‘mail_delete’
 1704 | long mail_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1704:6: note: previous declaration of ‘mail_delete’ was here
 1704 | long mail_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1705:6: error: conflicting types for ‘mail_rename’
 1705 | long mail_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1705:6: note: previous declaration of ‘mail_rename’ was here
 1705 | long mail_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1707:6: error: conflicting types for ‘mail_status’
 1707 | long mail_status (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1707:6: note: previous declaration of ‘mail_status’ was here
 1707 | long mail_status (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1708:6: error: conflicting types for ‘mail_status_default’
 1708 | long mail_status_default (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1708:6: note: previous declaration of ‘mail_status_default’ was here
 1708 | long mail_status_default (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1709:13: error: conflicting types for ‘mail_open’
 1709 | MAILSTREAM *mail_open (MAILSTREAM *stream,char *name,long options);
      |             ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1709:13: note: previous declaration of ‘mail_open’ was here
 1709 | MAILSTREAM *mail_open (MAILSTREAM *stream,char *name,long options);
      |             ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1710:13: error: conflicting types for ‘mail_open_work’
 1710 | MAILSTREAM *mail_open_work (DRIVER *d,MAILSTREAM *stream,char *name,
      |             ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1710:13: note: previous declaration of ‘mail_open_work’ was here
 1710 | MAILSTREAM *mail_open_work (DRIVER *d,MAILSTREAM *stream,char *name,
      |             ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1712:13: error: conflicting types for ‘mail_close_full’
 1712 | MAILSTREAM *mail_close_full (MAILSTREAM *stream,long options);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1712:13: note: previous declaration of ‘mail_close_full’ was here
 1712 | MAILSTREAM *mail_close_full (MAILSTREAM *stream,long options);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1713:13: error: conflicting types for ‘mail_makehandle’
 1713 | MAILHANDLE *mail_makehandle (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1713:13: note: previous declaration of ‘mail_makehandle’ was here
 1713 | MAILHANDLE *mail_makehandle (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1714:6: error: conflicting types for ‘mail_free_handle’
 1714 | void mail_free_handle (MAILHANDLE **handle);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1714:6: note: previous declaration of ‘mail_free_handle’ was here
 1714 | void mail_free_handle (MAILHANDLE **handle);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1715:13: error: conflicting types for ‘mail_stream’
 1715 | MAILSTREAM *mail_stream (MAILHANDLE *handle);
      |             ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1715:13: note: previous declaration of ‘mail_stream’ was here
 1715 | MAILSTREAM *mail_stream (MAILHANDLE *handle);
      |             ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1717:6: error: conflicting types for ‘mail_fetch_fast’
 1717 | void mail_fetch_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1717:6: note: previous declaration of ‘mail_fetch_fast’ was here
 1717 | void mail_fetch_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1718:6: error: conflicting types for ‘mail_fetch_flags’
 1718 | void mail_fetch_flags (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1718:6: note: previous declaration of ‘mail_fetch_flags’ was here
 1718 | void mail_fetch_flags (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1719:6: error: conflicting types for ‘mail_fetch_overview’
 1719 | void mail_fetch_overview (MAILSTREAM *stream,char *sequence,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1719:6: note: previous declaration of ‘mail_fetch_overview’ was here
 1719 | void mail_fetch_overview (MAILSTREAM *stream,char *sequence,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1720:6: error: conflicting types for ‘mail_fetch_overview_sequence’
 1720 | void mail_fetch_overview_sequence (MAILSTREAM *stream,char *sequence,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1720:6: note: previous declaration of ‘mail_fetch_overview_sequence’ was here
 1720 | void mail_fetch_overview_sequence (MAILSTREAM *stream,char *sequence,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1722:6: error: conflicting types for ‘mail_fetch_overview_default’
 1722 | void mail_fetch_overview_default (MAILSTREAM *stream,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1722:6: note: previous declaration of ‘mail_fetch_overview_default’ was here
 1722 | void mail_fetch_overview_default (MAILSTREAM *stream,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1723:11: error: conflicting types for ‘mail_fetch_structure’
 1723 | ENVELOPE *mail_fetch_structure (MAILSTREAM *stream,unsigned long msgno,
      |           ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1723:11: note: previous declaration of ‘mail_fetch_structure’ was here
 1723 | ENVELOPE *mail_fetch_structure (MAILSTREAM *stream,unsigned long msgno,
      |           ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1725:7: error: conflicting types for ‘mail_fetch_message’
 1725 | char *mail_fetch_message (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1725:7: note: previous declaration of ‘mail_fetch_message’ was here
 1725 | char *mail_fetch_message (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1727:7: error: conflicting types for ‘mail_fetch_header’
 1727 | char *mail_fetch_header (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1727:7: note: previous declaration of ‘mail_fetch_header’ was here
 1727 | char *mail_fetch_header (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1729:7: error: conflicting types for ‘mail_fetch_text’
 1729 | char *mail_fetch_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1729:7: note: previous declaration of ‘mail_fetch_text’ was here
 1729 | char *mail_fetch_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1731:7: error: conflicting types for ‘mail_fetch_mime’
 1731 | char *mail_fetch_mime (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1731:7: note: previous declaration of ‘mail_fetch_mime’ was here
 1731 | char *mail_fetch_mime (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1733:7: error: conflicting types for ‘mail_fetch_body’
 1733 | char *mail_fetch_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1733:7: note: previous declaration of ‘mail_fetch_body’ was here
 1733 | char *mail_fetch_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1735:6: error: conflicting types for ‘mail_partial_text’
 1735 | long mail_partial_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1735:6: note: previous declaration of ‘mail_partial_text’ was here
 1735 | long mail_partial_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1737:6: error: conflicting types for ‘mail_partial_body’
 1737 | long mail_partial_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1737:6: note: previous declaration of ‘mail_partial_body’ was here
 1737 | long mail_partial_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1739:7: error: conflicting types for ‘mail_fetch_text_return’
 1739 | char *mail_fetch_text_return (GETS_DATA *md,SIZEDTEXT *t,unsigned long *len);
      |       ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1739:7: note: previous declaration of ‘mail_fetch_text_return’ was here
 1739 | char *mail_fetch_text_return (GETS_DATA *md,SIZEDTEXT *t,unsigned long *len);
      |       ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1740:7: error: conflicting types for ‘mail_fetch_string_return’
 1740 | char *mail_fetch_string_return (GETS_DATA *md,STRING *bs,unsigned long i,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1740:7: note: previous declaration of ‘mail_fetch_string_return’ was here
 1740 | char *mail_fetch_string_return (GETS_DATA *md,STRING *bs,unsigned long i,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1743:15: error: conflicting types for ‘mail_uid’
 1743 | unsigned long mail_uid (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:13:
mail.h:1743:15: note: previous declaration of ‘mail_uid’ was here
 1743 | unsigned long mail_uid (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1744:15: error: conflicting types for ‘mail_msgno’
 1744 | unsigned long mail_msgno (MAILSTREAM *stream,unsigned long uid);
      |               ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1744:15: note: previous declaration of ‘mail_msgno’ was here
 1744 | unsigned long mail_msgno (MAILSTREAM *stream,unsigned long uid);
      |               ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1745:6: error: conflicting types for ‘mail_fetchfrom’
 1745 | void mail_fetchfrom (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1745:6: note: previous declaration of ‘mail_fetchfrom’ was here
 1745 | void mail_fetchfrom (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1747:6: error: conflicting types for ‘mail_fetchsubject’
 1747 | void mail_fetchsubject (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1747:6: note: previous declaration of ‘mail_fetchsubject’ was here
 1747 | void mail_fetchsubject (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1749:15: error: conflicting types for ‘mail_elt’
 1749 | MESSAGECACHE *mail_elt (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:13:
mail.h:1749:15: note: previous declaration of ‘mail_elt’ was here
 1749 | MESSAGECACHE *mail_elt (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1750:6: error: conflicting types for ‘mail_flag’
 1750 | void mail_flag (MAILSTREAM *stream,char *sequence,char *flag,long flags);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1750:6: note: previous declaration of ‘mail_flag’ was here
 1750 | void mail_flag (MAILSTREAM *stream,char *sequence,char *flag,long flags);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1751:6: error: conflicting types for ‘mail_search_full’
 1751 | long mail_search_full (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1751:6: note: previous declaration of ‘mail_search_full’ was here
 1751 | long mail_search_full (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1753:6: error: conflicting types for ‘mail_search_default’
 1753 | long mail_search_default (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1753:6: note: previous declaration of ‘mail_search_default’ was here
 1753 | long mail_search_default (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1755:6: error: conflicting types for ‘mail_ping’
 1755 | long mail_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1755:6: note: previous declaration of ‘mail_ping’ was here
 1755 | long mail_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1756:6: error: conflicting types for ‘mail_check’
 1756 | void mail_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1756:6: note: previous declaration of ‘mail_check’ was here
 1756 | void mail_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1757:6: error: conflicting types for ‘mail_expunge_full’
 1757 | long mail_expunge_full (MAILSTREAM *stream,char *sequence,long options);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1757:6: note: previous declaration of ‘mail_expunge_full’ was here
 1757 | long mail_expunge_full (MAILSTREAM *stream,char *sequence,long options);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1758:6: error: conflicting types for ‘mail_copy_full’
 1758 | long mail_copy_full (MAILSTREAM *stream,char *sequence,char *mailbox,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1758:6: note: previous declaration of ‘mail_copy_full’ was here
 1758 | long mail_copy_full (MAILSTREAM *stream,char *sequence,char *mailbox,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1760:6: error: conflicting types for ‘mail_append_full’
 1760 | long mail_append_full (MAILSTREAM *stream,char *mailbox,char *flags,char *date,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1760:6: note: previous declaration of ‘mail_append_full’ was here
 1760 | long mail_append_full (MAILSTREAM *stream,char *mailbox,char *flags,char *date,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1762:6: error: conflicting types for ‘mail_append_multiple’
 1762 | long mail_append_multiple (MAILSTREAM *stream,char *mailbox,append_t af,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1762:6: note: previous declaration of ‘mail_append_multiple’ was here
 1762 | long mail_append_multiple (MAILSTREAM *stream,char *mailbox,append_t af,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1764:6: error: conflicting types for ‘mail_gc’
 1764 | void mail_gc (MAILSTREAM *stream,long gcflags);
      |      ^~~~~~~
In file included from maildir.c:13:
mail.h:1764:6: note: previous declaration of ‘mail_gc’ was here
 1764 | void mail_gc (MAILSTREAM *stream,long gcflags);
      |      ^~~~~~~
In file included from maildir.c:2684:
mail.h:1765:6: error: conflicting types for ‘mail_gc_msg’
 1765 | void mail_gc_msg (MESSAGE *msg,long gcflags);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1765:6: note: previous declaration of ‘mail_gc_msg’ was here
 1765 | void mail_gc_msg (MESSAGE *msg,long gcflags);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1766:6: error: conflicting types for ‘mail_gc_body’
 1766 | void mail_gc_body (BODY *body);
      |      ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1766:6: note: previous declaration of ‘mail_gc_body’ was here
 1766 | void mail_gc_body (BODY *body);
      |      ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1768:7: error: conflicting types for ‘mail_body_section’
 1768 | BODY *mail_body_section (BODY *b, unsigned char *section);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1768:7: note: previous declaration of ‘mail_body_section’ was here
 1768 | BODY *mail_body_section (BODY *b, unsigned char *section);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1769:7: error: conflicting types for ‘mail_body’
 1769 | BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1769:7: note: previous declaration of ‘mail_body’ was here
 1769 | BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1771:7: error: conflicting types for ‘mail_date’
 1771 | char *mail_date (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1771:7: note: previous declaration of ‘mail_date’ was here
 1771 | char *mail_date (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1772:7: error: conflicting types for ‘mail_cdate’
 1772 | char *mail_cdate (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1772:7: note: previous declaration of ‘mail_cdate’ was here
 1772 | char *mail_cdate (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1773:6: error: conflicting types for ‘mail_parse_date’
 1773 | long mail_parse_date (MESSAGECACHE *elt,unsigned char *string);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1773:6: note: previous declaration of ‘mail_parse_date’ was here
 1773 | long mail_parse_date (MESSAGECACHE *elt,unsigned char *string);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1774:6: error: conflicting types for ‘mail_exists’
 1774 | void mail_exists (MAILSTREAM *stream,unsigned long nmsgs);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1774:6: note: previous declaration of ‘mail_exists’ was here
 1774 | void mail_exists (MAILSTREAM *stream,unsigned long nmsgs);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1775:6: error: conflicting types for ‘mail_recent’
 1775 | void mail_recent (MAILSTREAM *stream,unsigned long recent);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1775:6: note: previous declaration of ‘mail_recent’ was here
 1775 | void mail_recent (MAILSTREAM *stream,unsigned long recent);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1776:6: error: conflicting types for ‘mail_expunged’
 1776 | void mail_expunged (MAILSTREAM *stream,unsigned long msgno);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1776:6: note: previous declaration of ‘mail_expunged’ was here
 1776 | void mail_expunged (MAILSTREAM *stream,unsigned long msgno);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1777:6: error: conflicting types for ‘mail_lock’
 1777 | void mail_lock (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1777:6: note: previous declaration of ‘mail_lock’ was here
 1777 | void mail_lock (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1778:6: error: conflicting types for ‘mail_unlock’
 1778 | void mail_unlock (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1778:6: note: previous declaration of ‘mail_unlock’ was here
 1778 | void mail_unlock (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1779:6: error: conflicting types for ‘mail_debug’
 1779 | void mail_debug (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1779:6: note: previous declaration of ‘mail_debug’ was here
 1779 | void mail_debug (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1780:6: error: conflicting types for ‘mail_nodebug’
 1780 | void mail_nodebug (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1780:6: note: previous declaration of ‘mail_nodebug’ was here
 1780 | void mail_nodebug (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1782:6: error: conflicting types for ‘mail_match_lines’
 1782 | long mail_match_lines (STRINGLIST *lines,STRINGLIST *msglines,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1782:6: note: previous declaration of ‘mail_match_lines’ was here
 1782 | long mail_match_lines (STRINGLIST *lines,STRINGLIST *msglines,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1783:15: error: conflicting types for ‘mail_filter’
 1783 | unsigned long mail_filter (char *text,unsigned long len,STRINGLIST *lines,
      |               ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1783:15: note: previous declaration of ‘mail_filter’ was here
 1783 | unsigned long mail_filter (char *text,unsigned long len,STRINGLIST *lines,
      |               ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1785:6: error: conflicting types for ‘mail_search_msg’
 1785 | long mail_search_msg (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1785:6: note: previous declaration of ‘mail_search_msg’ was here
 1785 | long mail_search_msg (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1787:6: error: conflicting types for ‘mail_search_header_text’
 1787 | long mail_search_header_text (char *s,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1787:6: note: previous declaration of ‘mail_search_header_text’ was here
 1787 | long mail_search_header_text (char *s,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1788:6: error: conflicting types for ‘mail_search_header’
 1788 | long mail_search_header (SIZEDTEXT *hdr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1788:6: note: previous declaration of ‘mail_search_header’ was here
 1788 | long mail_search_header (SIZEDTEXT *hdr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1789:6: error: conflicting types for ‘mail_search_text’
 1789 | long mail_search_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1789:6: note: previous declaration of ‘mail_search_text’ was here
 1789 | long mail_search_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1791:6: error: conflicting types for ‘mail_search_body’
 1791 | long mail_search_body (MAILSTREAM *stream,unsigned long msgno,BODY *body,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1791:6: note: previous declaration of ‘mail_search_body’ was here
 1791 | long mail_search_body (MAILSTREAM *stream,unsigned long msgno,BODY *body,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1793:6: error: conflicting types for ‘mail_search_string’
 1793 | long mail_search_string (SIZEDTEXT *s,char *charset,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1793:6: note: previous declaration of ‘mail_search_string’ was here
 1793 | long mail_search_string (SIZEDTEXT *s,char *charset,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1794:6: error: conflicting types for ‘mail_search_string_work’
 1794 | long mail_search_string_work (SIZEDTEXT *s,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1794:6: note: previous declaration of ‘mail_search_string_work’ was here
 1794 | long mail_search_string_work (SIZEDTEXT *s,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1795:6: error: conflicting types for ‘mail_search_keyword’
 1795 | long mail_search_keyword (MAILSTREAM *stream,MESSAGECACHE *elt,STRINGLIST *st,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1795:6: note: previous declaration of ‘mail_search_keyword’ was here
 1795 | long mail_search_keyword (MAILSTREAM *stream,MESSAGECACHE *elt,STRINGLIST *st,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1797:6: error: conflicting types for ‘mail_search_addr’
 1797 | long mail_search_addr (ADDRESS *adr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1797:6: note: previous declaration of ‘mail_search_addr’ was here
 1797 | long mail_search_addr (ADDRESS *adr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1798:7: error: conflicting types for ‘mail_search_gets’
 1798 | char *mail_search_gets (readfn_t f,void *stream,unsigned long size,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1798:7: note: previous declaration of ‘mail_search_gets’ was here
 1798 | char *mail_search_gets (readfn_t f,void *stream,unsigned long size,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1800:12: error: conflicting types for ‘mail_criteria’
 1800 | SEARCHPGM *mail_criteria (char *criteria);
      |            ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1800:12: note: previous declaration of ‘mail_criteria’ was here
 1800 | SEARCHPGM *mail_criteria (char *criteria);
      |            ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1802:5: error: conflicting types for ‘mail_criteria_string’
 1802 | int mail_criteria_string (STRINGLIST **s,char **r);
      |     ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1802:5: note: previous declaration of ‘mail_criteria_string’ was here
 1802 | int mail_criteria_string (STRINGLIST **s,char **r);
      |     ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1805:12: error: conflicting types for ‘mail_parse_set’
 1805 | SEARCHSET *mail_parse_set (char *s,char **ret);
      |            ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1805:12: note: previous declaration of ‘mail_parse_set’ was here
 1805 | SEARCHSET *mail_parse_set (char *s,char **ret);
      |            ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1806:12: error: conflicting types for ‘mail_append_set’
 1806 | SEARCHSET *mail_append_set (SEARCHSET *set,unsigned long msgno);
      |            ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1806:12: note: previous declaration of ‘mail_append_set’ was here
 1806 | SEARCHSET *mail_append_set (SEARCHSET *set,unsigned long msgno);
      |            ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1807:16: error: conflicting types for ‘mail_sort’
 1807 | unsigned long *mail_sort (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1807:16: note: previous declaration of ‘mail_sort’ was here
 1807 | unsigned long *mail_sort (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1809:16: error: conflicting types for ‘mail_sort_cache’
 1809 | unsigned long *mail_sort_cache (MAILSTREAM *stream,SORTPGM *pgm,SORTCACHE **sc,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1809:16: note: previous declaration of ‘mail_sort_cache’ was here
 1809 | unsigned long *mail_sort_cache (MAILSTREAM *stream,SORTPGM *pgm,SORTCACHE **sc,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1811:16: error: conflicting types for ‘mail_sort_msgs’
 1811 | unsigned long *mail_sort_msgs (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1811:16: note: previous declaration of ‘mail_sort_msgs’ was here
 1811 | unsigned long *mail_sort_msgs (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1813:13: error: conflicting types for ‘mail_sort_loadcache’
 1813 | SORTCACHE **mail_sort_loadcache (MAILSTREAM *stream,SORTPGM *pgm);
      |             ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1813:13: note: previous declaration of ‘mail_sort_loadcache’ was here
 1813 | SORTCACHE **mail_sort_loadcache (MAILSTREAM *stream,SORTPGM *pgm);
      |             ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1818:15: error: conflicting types for ‘mail_longdate’
 1818 | unsigned long mail_longdate (MESSAGECACHE *elt);
      |               ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1818:15: note: previous declaration of ‘mail_longdate’ was here
 1818 | unsigned long mail_longdate (MESSAGECACHE *elt);
      |               ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1819:13: error: conflicting types for ‘mail_thread’
 1819 | THREADNODE *mail_thread (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1819:13: note: previous declaration of ‘mail_thread’ was here
 1819 | THREADNODE *mail_thread (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1821:13: error: conflicting types for ‘mail_thread_msgs’
 1821 | THREADNODE *mail_thread_msgs (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1821:13: note: previous declaration of ‘mail_thread_msgs’ was here
 1821 | THREADNODE *mail_thread_msgs (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1823:13: error: conflicting types for ‘mail_thread_orderedsubject’
 1823 | THREADNODE *mail_thread_orderedsubject (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1823:13: note: previous declaration of ‘mail_thread_orderedsubject’ was here
 1823 | THREADNODE *mail_thread_orderedsubject (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1826:13: error: conflicting types for ‘mail_thread_references’
 1826 | THREADNODE *mail_thread_references (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1826:13: note: previous declaration of ‘mail_thread_references’ was here
 1826 | THREADNODE *mail_thread_references (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1829:6: error: conflicting types for ‘mail_thread_loadcache’
 1829 | void mail_thread_loadcache (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1829:6: note: previous declaration of ‘mail_thread_loadcache’ was here
 1829 | void mail_thread_loadcache (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1832:13: error: conflicting types for ‘mail_thread_parse_references’
 1832 | STRINGLIST *mail_thread_parse_references (char *s,long flag);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1832:13: note: previous declaration of ‘mail_thread_parse_references’ was here
 1832 | STRINGLIST *mail_thread_parse_references (char *s,long flag);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1836:13: error: conflicting types for ‘mail_thread_c2node’
 1836 | THREADNODE *mail_thread_c2node (MAILSTREAM *stream,container_t con,long flags);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1836:13: note: previous declaration of ‘mail_thread_c2node’ was here
 1836 | THREADNODE *mail_thread_c2node (MAILSTREAM *stream,container_t con,long flags);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1837:13: error: conflicting types for ‘mail_thread_sort’
 1837 | THREADNODE *mail_thread_sort (THREADNODE *thr,THREADNODE **tc);
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1837:13: note: previous declaration of ‘mail_thread_sort’ was here
 1837 | THREADNODE *mail_thread_sort (THREADNODE *thr,THREADNODE **tc);
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1839:6: error: conflicting types for ‘mail_sequence’
 1839 | long mail_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1839:6: note: previous declaration of ‘mail_sequence’ was here
 1839 | long mail_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1840:6: error: conflicting types for ‘mail_uid_sequence’
 1840 | long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1840:6: note: previous declaration of ‘mail_uid_sequence’ was here
 1840 | long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1841:6: error: conflicting types for ‘mail_parse_flags’
 1841 | long mail_parse_flags (MAILSTREAM *stream,char *flag,unsigned long *uf);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1841:6: note: previous declaration of ‘mail_parse_flags’ was here
 1841 | long mail_parse_flags (MAILSTREAM *stream,char *flag,unsigned long *uf);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1842:6: error: conflicting types for ‘mail_usable_network_stream’
 1842 | long mail_usable_network_stream (MAILSTREAM *stream,char *name);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1842:6: note: previous declaration of ‘mail_usable_network_stream’ was here
 1842 | long mail_usable_network_stream (MAILSTREAM *stream,char *name);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1844:15: error: conflicting types for ‘mail_new_cache_elt’
 1844 | MESSAGECACHE *mail_new_cache_elt (unsigned long msgno);
      |               ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1844:15: note: previous declaration of ‘mail_new_cache_elt’ was here
 1844 | MESSAGECACHE *mail_new_cache_elt (unsigned long msgno);
      |               ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1845:11: error: conflicting types for ‘mail_newenvelope’
 1845 | ENVELOPE *mail_newenvelope (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1845:11: note: previous declaration of ‘mail_newenvelope’ was here
 1845 | ENVELOPE *mail_newenvelope (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1846:10: error: conflicting types for ‘mail_newaddr’
 1846 | ADDRESS *mail_newaddr (void);
      |          ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1846:10: note: previous declaration of ‘mail_newaddr’ was here
 1846 | ADDRESS *mail_newaddr (void);
      |          ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1847:7: error: conflicting types for ‘mail_newbody’
 1847 | BODY *mail_newbody (void);
      |       ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1847:7: note: previous declaration of ‘mail_newbody’ was here
 1847 | BODY *mail_newbody (void);
      |       ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1848:7: error: conflicting types for ‘mail_initbody’
 1848 | BODY *mail_initbody (BODY *body);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1848:7: note: previous declaration of ‘mail_initbody’ was here
 1848 | BODY *mail_initbody (BODY *body);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1849:12: error: conflicting types for ‘mail_newbody_parameter’
 1849 | PARAMETER *mail_newbody_parameter (void);
      |            ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1849:12: note: previous declaration of ‘mail_newbody_parameter’ was here
 1849 | PARAMETER *mail_newbody_parameter (void);
      |            ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1850:7: error: conflicting types for ‘mail_newbody_part’
 1850 | PART *mail_newbody_part (void);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1850:7: note: previous declaration of ‘mail_newbody_part’ was here
 1850 | PART *mail_newbody_part (void);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1851:10: error: conflicting types for ‘mail_newmsg’
 1851 | MESSAGE *mail_newmsg (void);
      |          ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1851:10: note: previous declaration of ‘mail_newmsg’ was here
 1851 | MESSAGE *mail_newmsg (void);
      |          ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1852:13: error: conflicting types for ‘mail_newstringlist’
 1852 | STRINGLIST *mail_newstringlist (void);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1852:13: note: previous declaration of ‘mail_newstringlist’ was here
 1852 | STRINGLIST *mail_newstringlist (void);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1853:12: error: conflicting types for ‘mail_newsearchpgm’
 1853 | SEARCHPGM *mail_newsearchpgm (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1853:12: note: previous declaration of ‘mail_newsearchpgm’ was here
 1853 | SEARCHPGM *mail_newsearchpgm (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1854:15: error: conflicting types for ‘mail_newsearchheader’
 1854 | SEARCHHEADER *mail_newsearchheader (char *line,char *text);
      |               ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1854:15: note: previous declaration of ‘mail_newsearchheader’ was here
 1854 | SEARCHHEADER *mail_newsearchheader (char *line,char *text);
      |               ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1855:12: error: conflicting types for ‘mail_newsearchset’
 1855 | SEARCHSET *mail_newsearchset (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1855:12: note: previous declaration of ‘mail_newsearchset’ was here
 1855 | SEARCHSET *mail_newsearchset (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1856:11: error: conflicting types for ‘mail_newsearchor’
 1856 | SEARCHOR *mail_newsearchor (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1856:11: note: previous declaration of ‘mail_newsearchor’ was here
 1856 | SEARCHOR *mail_newsearchor (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1857:16: error: conflicting types for ‘mail_newsearchpgmlist’
 1857 | SEARCHPGMLIST *mail_newsearchpgmlist (void);
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1857:16: note: previous declaration of ‘mail_newsearchpgmlist’ was here
 1857 | SEARCHPGMLIST *mail_newsearchpgmlist (void);
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1858:10: error: conflicting types for ‘mail_newsortpgm’
 1858 | SORTPGM *mail_newsortpgm (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1858:10: note: previous declaration of ‘mail_newsortpgm’ was here
 1858 | SORTPGM *mail_newsortpgm (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1859:13: error: conflicting types for ‘mail_newthreadnode’
 1859 | THREADNODE *mail_newthreadnode (SORTCACHE *sc);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1859:13: note: previous declaration of ‘mail_newthreadnode’ was here
 1859 | THREADNODE *mail_newthreadnode (SORTCACHE *sc);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1860:10: error: conflicting types for ‘mail_newacllist’
 1860 | ACLLIST *mail_newacllist (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1860:10: note: previous declaration of ‘mail_newacllist’ was here
 1860 | ACLLIST *mail_newacllist (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1861:12: error: conflicting types for ‘mail_newquotalist’
 1861 | QUOTALIST *mail_newquotalist (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1861:12: note: previous declaration of ‘mail_newquotalist’ was here
 1861 | QUOTALIST *mail_newquotalist (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1862:6: error: conflicting types for ‘mail_free_idlist’
 1862 | void mail_free_idlist (IDLIST **idlist);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1862:6: note: previous declaration of ‘mail_free_idlist’ was here
 1862 | void mail_free_idlist (IDLIST **idlist);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1863:6: error: conflicting types for ‘mail_free_body’
 1863 | void mail_free_body (BODY **body);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1863:6: note: previous declaration of ‘mail_free_body’ was here
 1863 | void mail_free_body (BODY **body);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1864:6: error: conflicting types for ‘mail_free_body_data’
 1864 | void mail_free_body_data (BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1864:6: note: previous declaration of ‘mail_free_body_data’ was here
 1864 | void mail_free_body_data (BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1865:6: error: conflicting types for ‘mail_free_body_parameter’
 1865 | void mail_free_body_parameter (PARAMETER **parameter);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1865:6: note: previous declaration of ‘mail_free_body_parameter’ was here
 1865 | void mail_free_body_parameter (PARAMETER **parameter);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1866:6: error: conflicting types for ‘mail_free_body_part’
 1866 | void mail_free_body_part (PART **part);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1866:6: note: previous declaration of ‘mail_free_body_part’ was here
 1866 | void mail_free_body_part (PART **part);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1867:6: error: conflicting types for ‘mail_free_cache’
 1867 | void mail_free_cache (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1867:6: note: previous declaration of ‘mail_free_cache’ was here
 1867 | void mail_free_cache (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1868:6: error: conflicting types for ‘mail_free_elt’
 1868 | void mail_free_elt (MESSAGECACHE **elt);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1868:6: note: previous declaration of ‘mail_free_elt’ was here
 1868 | void mail_free_elt (MESSAGECACHE **elt);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1869:6: error: conflicting types for ‘mail_free_envelope’
 1869 | void mail_free_envelope (ENVELOPE **env);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1869:6: note: previous declaration of ‘mail_free_envelope’ was here
 1869 | void mail_free_envelope (ENVELOPE **env);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1870:6: error: conflicting types for ‘mail_free_address’
 1870 | void mail_free_address (ADDRESS **address);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1870:6: note: previous declaration of ‘mail_free_address’ was here
 1870 | void mail_free_address (ADDRESS **address);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1871:6: error: conflicting types for ‘mail_free_stringlist’
 1871 | void mail_free_stringlist (STRINGLIST **string);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1871:6: note: previous declaration of ‘mail_free_stringlist’ was here
 1871 | void mail_free_stringlist (STRINGLIST **string);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1872:6: error: conflicting types for ‘mail_free_searchpgm’
 1872 | void mail_free_searchpgm (SEARCHPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1872:6: note: previous declaration of ‘mail_free_searchpgm’ was here
 1872 | void mail_free_searchpgm (SEARCHPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1873:6: error: conflicting types for ‘mail_free_searchheader’
 1873 | void mail_free_searchheader (SEARCHHEADER **hdr);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1873:6: note: previous declaration of ‘mail_free_searchheader’ was here
 1873 | void mail_free_searchheader (SEARCHHEADER **hdr);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1874:6: error: conflicting types for ‘mail_free_searchset’
 1874 | void mail_free_searchset (SEARCHSET **set);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1874:6: note: previous declaration of ‘mail_free_searchset’ was here
 1874 | void mail_free_searchset (SEARCHSET **set);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1875:6: error: conflicting types for ‘mail_free_searchor’
 1875 | void mail_free_searchor (SEARCHOR **orl);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1875:6: note: previous declaration of ‘mail_free_searchor’ was here
 1875 | void mail_free_searchor (SEARCHOR **orl);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1876:6: error: conflicting types for ‘mail_free_searchpgmlist’
 1876 | void mail_free_searchpgmlist (SEARCHPGMLIST **pgl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1876:6: note: previous declaration of ‘mail_free_searchpgmlist’ was here
 1876 | void mail_free_searchpgmlist (SEARCHPGMLIST **pgl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1877:6: error: conflicting types for ‘mail_free_namespace’
 1877 | void mail_free_namespace (NAMESPACE **n);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1877:6: note: previous declaration of ‘mail_free_namespace’ was here
 1877 | void mail_free_namespace (NAMESPACE **n);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1878:6: error: conflicting types for ‘mail_free_sortpgm’
 1878 | void mail_free_sortpgm (SORTPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1878:6: note: previous declaration of ‘mail_free_sortpgm’ was here
 1878 | void mail_free_sortpgm (SORTPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1879:6: error: conflicting types for ‘mail_free_threadnode’
 1879 | void mail_free_threadnode (THREADNODE **thr);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1879:6: note: previous declaration of ‘mail_free_threadnode’ was here
 1879 | void mail_free_threadnode (THREADNODE **thr);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1880:6: error: conflicting types for ‘mail_free_acllist’
 1880 | void mail_free_acllist (ACLLIST **al);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1880:6: note: previous declaration of ‘mail_free_acllist’ was here
 1880 | void mail_free_acllist (ACLLIST **al);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1881:6: error: conflicting types for ‘mail_free_quotalist’
 1881 | void mail_free_quotalist (QUOTALIST **ql);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1881:6: note: previous declaration of ‘mail_free_quotalist’ was here
 1881 | void mail_free_quotalist (QUOTALIST **ql);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1882:6: error: conflicting types for ‘auth_link’
 1882 | void auth_link (AUTHENTICATOR *auth);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1882:6: note: previous declaration of ‘auth_link’ was here
 1882 | void auth_link (AUTHENTICATOR *auth);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1884:16: error: conflicting types for ‘mail_lookup_auth’
 1884 | AUTHENTICATOR *mail_lookup_auth (unsigned long i);
      |                ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1884:16: note: previous declaration of ‘mail_lookup_auth’ was here
 1884 | AUTHENTICATOR *mail_lookup_auth (unsigned long i);
      |                ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1887:12: error: conflicting types for ‘net_open’
 1887 | NETSTREAM *net_open (NETMBX *mb,NETDRIVER *dv,unsigned long port,
      |            ^~~~~~~~
In file included from maildir.c:13:
mail.h:1887:12: note: previous declaration of ‘net_open’ was here
 1887 | NETSTREAM *net_open (NETMBX *mb,NETDRIVER *dv,unsigned long port,
      |            ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1889:12: error: conflicting types for ‘net_open_work’
 1889 | NETSTREAM *net_open_work (NETDRIVER *dv,char *host,char *service,
      |            ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1889:12: note: previous declaration of ‘net_open_work’ was here
 1889 | NETSTREAM *net_open_work (NETDRIVER *dv,char *host,char *service,
      |            ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1892:12: error: conflicting types for ‘net_aopen’
 1892 | NETSTREAM *net_aopen (NETDRIVER *dv,NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1892:12: note: previous declaration of ‘net_aopen’ was here
 1892 | NETSTREAM *net_aopen (NETDRIVER *dv,NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1893:7: error: conflicting types for ‘net_getline’
 1893 | char *net_getline (NETSTREAM *stream);
      |       ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1893:7: note: previous declaration of ‘net_getline’ was here
 1893 | char *net_getline (NETSTREAM *stream);
      |       ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1896:6: error: conflicting types for ‘net_soutr’
 1896 | long net_soutr (NETSTREAM *stream,char *string);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1896:6: note: previous declaration of ‘net_soutr’ was here
 1896 | long net_soutr (NETSTREAM *stream,char *string);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1897:6: error: conflicting types for ‘net_sout’
 1897 | long net_sout (NETSTREAM *stream,char *string,unsigned long size);
      |      ^~~~~~~~
In file included from maildir.c:13:
mail.h:1897:6: note: previous declaration of ‘net_sout’ was here
 1897 | long net_sout (NETSTREAM *stream,char *string,unsigned long size);
      |      ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1898:6: error: conflicting types for ‘net_close’
 1898 | void net_close (NETSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1898:6: note: previous declaration of ‘net_close’ was here
 1898 | void net_close (NETSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1899:7: error: conflicting types for ‘net_host’
 1899 | char *net_host (NETSTREAM *stream);
      |       ^~~~~~~~
In file included from maildir.c:13:
mail.h:1899:7: note: previous declaration of ‘net_host’ was here
 1899 | char *net_host (NETSTREAM *stream);
      |       ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1900:7: error: conflicting types for ‘net_remotehost’
 1900 | char *net_remotehost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1900:7: note: previous declaration of ‘net_remotehost’ was here
 1900 | char *net_remotehost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1901:15: error: conflicting types for ‘net_port’
 1901 | unsigned long net_port (NETSTREAM *stream);
      |               ^~~~~~~~
In file included from maildir.c:13:
mail.h:1901:15: note: previous declaration of ‘net_port’ was here
 1901 | unsigned long net_port (NETSTREAM *stream);
      |               ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1902:7: error: conflicting types for ‘net_localhost’
 1902 | char *net_localhost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1902:7: note: previous declaration of ‘net_localhost’ was here
 1902 | char *net_localhost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1903:7: error: conflicting types for ‘net_getsize’
 1903 | char *net_getsize(NETSTREAM *stream, unsigned long size);
      |       ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1903:7: note: previous declaration of ‘net_getsize’ was here
 1903 | char *net_getsize(NETSTREAM *stream, unsigned long size);
      |       ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1922:5: error: conflicting types for ‘PSOUTR’
 1922 | int PSOUTR (SIZEDTEXT *s);
      |     ^~~~~~
In file included from maildir.c:13:
mail.h:1922:5: note: previous declaration of ‘PSOUTR’ was here
 1922 | int PSOUTR (SIZEDTEXT *s);
      |     ^~~~~~
In file included from maildir.c:2684:
mail.h:1934:15: error: redeclaration of enumerator ‘OA2_Id’
 1934 | typedef enum {OA2_Id = 0,
      |               ^~~~~~
In file included from maildir.c:13:
mail.h:1934:15: note: previous definition of ‘OA2_Id’ was here
 1934 | typedef enum {OA2_Id = 0,
      |               ^~~~~~
In file included from maildir.c:2684:
mail.h:1935:8: error: redeclaration of enumerator ‘OA2_Secret’
 1935 |        OA2_Secret,
      |        ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1935:8: note: previous definition of ‘OA2_Secret’ was here
 1935 |        OA2_Secret,
      |        ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1936:8: error: redeclaration of enumerator ‘OA2_Code’
 1936 |        OA2_Code,
      |        ^~~~~~~~
In file included from maildir.c:13:
mail.h:1936:8: note: previous definition of ‘OA2_Code’ was here
 1936 |        OA2_Code,
      |        ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1937:8: error: redeclaration of enumerator ‘OA2_RefreshToken’
 1937 |        OA2_RefreshToken,
      |        ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1937:8: note: previous definition of ‘OA2_RefreshToken’ was here
 1937 |        OA2_RefreshToken,
      |        ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1938:8: error: redeclaration of enumerator ‘OA2_Scope’
 1938 |        OA2_Scope,
      |        ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1938:8: note: previous definition of ‘OA2_Scope’ was here
 1938 |        OA2_Scope,
      |        ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1939:8: error: redeclaration of enumerator ‘OA2_Redirect’
 1939 |        OA2_Redirect,
      |        ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1939:8: note: previous definition of ‘OA2_Redirect’ was here
 1939 |        OA2_Redirect,
      |        ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1940:8: error: redeclaration of enumerator ‘OA2_GrantTypeforAccessToken’
 1940 |        OA2_GrantTypeforAccessToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1940:8: note: previous definition of ‘OA2_GrantTypeforAccessToken’ was here
 1940 |        OA2_GrantTypeforAccessToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1941:8: error: redeclaration of enumerator ‘OA2_GrantTypefromRefreshToken’
 1941 |        OA2_GrantTypefromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1941:8: note: previous definition of ‘OA2_GrantTypefromRefreshToken’ was here
 1941 |        OA2_GrantTypefromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1942:8: error: redeclaration of enumerator ‘OA2_Response’
 1942 |        OA2_Response,
      |        ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1942:8: note: previous definition of ‘OA2_Response’ was here
 1942 |        OA2_Response,
      |        ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1943:8: error: redeclaration of enumerator ‘OA2_State’
 1943 |        OA2_State,
      |        ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1943:8: note: previous definition of ‘OA2_State’ was here
 1943 |        OA2_State,
      |        ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1944:8: error: redeclaration of enumerator ‘OA2_DeviceCode’
 1944 |        OA2_DeviceCode,
      |        ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1944:8: note: previous definition of ‘OA2_DeviceCode’ was here
 1944 |        OA2_DeviceCode,
      |        ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1945:8: error: redeclaration of enumerator ‘OA2_End’
 1945 |        OA2_End} OA2_type;
      |        ^~~~~~~
In file included from maildir.c:13:
mail.h:1945:8: note: previous definition of ‘OA2_End’ was here
 1945 |        OA2_End} OA2_type;
      |        ^~~~~~~
In file included from maildir.c:2684:
mail.h:1945:17: error: conflicting types for ‘OA2_type’
 1945 |        OA2_End} OA2_type;
      |                 ^~~~~~~~
In file included from maildir.c:13:
mail.h:1945:17: note: previous declaration of ‘OA2_type’ was here
 1945 |        OA2_End} OA2_type;
      |                 ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1947:15: error: redeclaration of enumerator ‘OA2_GetAccessCode’
 1947 | typedef enum {OA2_GetAccessCode = 0,  /* define this to get access code */
      |               ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1947:15: note: previous definition of ‘OA2_GetAccessCode’ was here
 1947 | typedef enum {OA2_GetAccessCode = 0,  /* define this to get access code */
      |               ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1948:8: error: redeclaration of enumerator ‘OA2_GetDeviceCode’
 1948 |        OA2_GetDeviceCode,  /* define this if server uses device */
      |        ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1948:8: note: previous definition of ‘OA2_GetDeviceCode’ was here
 1948 |        OA2_GetDeviceCode,  /* define this if server uses device */
      |        ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1949:8: error: redeclaration of enumerator ‘OA2_GetAccessTokenFromAccessCode’
 1949 |        OA2_GetAccessTokenFromAccessCode,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1949:8: note: previous definition of ‘OA2_GetAccessTokenFromAccessCode’ was here
 1949 |        OA2_GetAccessTokenFromAccessCode,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1950:8: error: redeclaration of enumerator ‘OA2_GetAccessTokenFromRefreshToken’
 1950 |        OA2_GetAccessTokenFromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1950:8: note: previous definition of ‘OA2_GetAccessTokenFromRefreshToken’ was here
 1950 |        OA2_GetAccessTokenFromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1951:8: error: redeclaration of enumerator ‘OA2_GetEnd’
 1951 |        OA2_GetEnd} OA2_function;
      |        ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1951:8: note: previous definition of ‘OA2_GetEnd’ was here
 1951 |        OA2_GetEnd} OA2_function;
      |        ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1951:20: error: conflicting types for ‘OA2_function’
 1951 |        OA2_GetEnd} OA2_function;
      |                    ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1951:20: note: previous declaration of ‘OA2_function’ was here
 1951 |        OA2_GetEnd} OA2_function;
      |                    ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1953:16: error: redefinition of ‘struct OA2_param_s’
 1953 | typedef struct OA2_param_s {
      |                ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1953:16: note: originally defined here
 1953 | typedef struct OA2_param_s {
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1956:3: error: conflicting types for ‘OAUTH2_PARAM_S’
 1956 | } OAUTH2_PARAM_S;
      |   ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1956:3: note: previous declaration of ‘OAUTH2_PARAM_S’ was here
 1956 | } OAUTH2_PARAM_S;
      |   ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1958:16: error: redefinition of ‘struct OA2_serverparam_s’
 1958 | typedef struct OA2_serverparam_s {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1958:16: note: originally defined here
 1958 | typedef struct OA2_serverparam_s {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1962:3: error: conflicting types for ‘OAUTH2_SERVER_METHOD_S’
 1962 | } OAUTH2_SERVER_METHOD_S;
      |   ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1962:3: note: previous declaration of ‘OAUTH2_SERVER_METHOD_S’ was here
 1962 | } OAUTH2_SERVER_METHOD_S;
      |   ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1964:16: error: redefinition of ‘struct device_code_s’
 1964 | typedef struct device_code_s {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1964:16: note: originally defined here
 1964 | typedef struct device_code_s {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1971:3: error: conflicting types for ‘OAUTH2_DEVICECODE_S’
 1971 | } OAUTH2_DEVICECODE_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1971:3: note: previous declaration of ‘OAUTH2_DEVICECODE_S’ was here
 1971 | } OAUTH2_DEVICECODE_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1973:16: error: redefinition of ‘struct oauth2_s’
 1973 | typedef struct oauth2_s {
      |                ^~~~~~~~
In file included from maildir.c:13:
mail.h:1973:16: note: originally defined here
 1973 | typedef struct oauth2_s {
      |                ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1984:3: error: conflicting types for ‘OAUTH2_S’
 1984 | } OAUTH2_S;
      |   ^~~~~~~~
In file included from maildir.c:13:
mail.h:1984:3: note: previous declaration of ‘OAUTH2_S’ was here
 1984 | } OAUTH2_S;
      |   ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1986:16: error: redefinition of ‘struct deviceproc_s’
 1986 | typedef struct deviceproc_s {
      |                ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1986:16: note: originally defined here
 1986 | typedef struct deviceproc_s {
      |                ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1991:3: error: conflicting types for ‘OAUTH2_DEVICEPROC_S’
 1991 | } OAUTH2_DEVICEPROC_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1991:3: note: previous declaration of ‘OAUTH2_DEVICEPROC_S’ was here
 1991 | } OAUTH2_DEVICEPROC_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1994:17: error: conflicting types for ‘oauth2getaccesscode_t’
 1994 | typedef char *(*oauth2getaccesscode_t) (unsigned char *, char *, OAUTH2_S *, int *);
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1994:17: note: previous declaration of ‘oauth2getaccesscode_t’ was here
 1994 | typedef char *(*oauth2getaccesscode_t) (unsigned char *, char *, OAUTH2_S *, int *);
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1996:16: error: conflicting types for ‘oauth2deviceinfo_t’
 1996 | typedef void (*oauth2deviceinfo_t)(OAUTH2_S *, char *method);
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1996:16: note: previous declaration of ‘oauth2deviceinfo_t’ was here
 1996 | typedef void (*oauth2deviceinfo_t)(OAUTH2_S *, char *method);
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1997:6: error: conflicting types for ‘mm_login_oauth2_c_client_method’
 1997 | void mm_login_oauth2_c_client_method (NETMBX *, char *, char *, OAUTH2_S *, unsigned long, int *);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1997:6: note: previous declaration of ‘mm_login_oauth2_c_client_method’ was here
 1997 | void mm_login_oauth2_c_client_method (NETMBX *, char *, char *, OAUTH2_S *, unsigned long, int *);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:2688:
env_unix.h:27:16: error: redefinition of ‘struct dotlock_base’
   27 | typedef struct dotlock_base {
      |                ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:27:16: note: originally defined here
   27 | typedef struct dotlock_base {
      |                ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:2688:
env_unix.h:31:3: error: conflicting types for ‘DOTLOCK’
   31 | } DOTLOCK;
      |   ^~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:31:3: note: previous declaration of ‘DOTLOCK’ was here
   31 | } DOTLOCK;
      |   ^~~~~~~
In file included from env_unix.h:58,
                 from osdep.h:67,
                 from maildir.c:2688:
env.h:45:13: error: conflicting types for ‘default_proto’
   45 | MAILSTREAM *default_proto (long type);
      |             ^~~~~~~~~~~~~
In file included from env_unix.h:58,
                 from osdep.h:67,
                 from maildir.c:17:
env.h:45:13: note: previous declaration of ‘default_proto’ was here
   45 | MAILSTREAM *default_proto (long type);
      |             ^~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:2688:
env_unix.h:70:6: error: conflicting types for ‘dotlock_lock’
   70 | long dotlock_lock (char *file,DOTLOCK *base,int fd);
      |      ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:70:6: note: previous declaration of ‘dotlock_lock’ was here
   70 | long dotlock_lock (char *file,DOTLOCK *base,int fd);
      |      ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:2688:
env_unix.h:71:6: error: conflicting types for ‘dotlock_unlock’
   71 | long dotlock_unlock (DOTLOCK *base);
      |      ^~~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:71:6: note: previous declaration of ‘dotlock_unlock’ was here
   71 | long dotlock_unlock (DOTLOCK *base);
      |      ^~~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:2688:
env_unix.h:79:13: error: conflicting types for ‘user_flags’
   79 | MAILSTREAM *user_flags (MAILSTREAM *stream);
      |             ^~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:79:13: note: previous declaration of ‘user_flags’ was here
   79 | MAILSTREAM *user_flags (MAILSTREAM *stream);
      |             ^~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:2688:
env_unix.h:82:6: error: conflicting types for ‘path_create’
   82 | long path_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:82:6: note: previous declaration of ‘path_create’ was here
   82 | long path_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from osdep.h:70,
                 from maildir.c:2688:
nl.h:34:15: error: conflicting types for ‘strcrlflen’
   34 | unsigned long strcrlflen (STRING *s);
      |               ^~~~~~~~~~
In file included from osdep.h:70,
                 from maildir.c:17:
nl.h:34:15: note: previous declaration of ‘strcrlflen’ was here
   34 | unsigned long strcrlflen (STRING *s);
      |               ^~~~~~~~~~
In file included from osdep.h:71,
                 from maildir.c:2688:
tcp.h:41:12: error: conflicting types for ‘tcp_aopen’
   41 | TCPSTREAM *tcp_aopen (NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from osdep.h:71,
                 from maildir.c:17:
tcp.h:41:12: note: previous declaration of ‘tcp_aopen’ was here
   41 | TCPSTREAM *tcp_aopen (NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:42:16: error: conflicting types for ‘rfc822out_t’
   42 | typedef long (*rfc822out_t) (char *tmp,ENVELOPE *env,BODY *body,soutr_t f,
      |                ^~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:42:16: note: previous declaration of ‘rfc822out_t’ was here
   42 | typedef long (*rfc822out_t) (char *tmp,ENVELOPE *env,BODY *body,soutr_t f,
      |                ^~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:45:16: error: redefinition of ‘struct rfc822buffer’
   45 | typedef struct rfc822buffer {
      |                ^~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:45:16: note: originally defined here
   45 | typedef struct rfc822buffer {
      |                ^~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:51:3: error: conflicting types for ‘RFC822BUFFER’
   51 | } RFC822BUFFER;
      |   ^~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:51:3: note: previous declaration of ‘RFC822BUFFER’ was here
   51 | } RFC822BUFFER;
      |   ^~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:53:16: error: conflicting types for ‘rfc822outfull_t’
   53 | typedef long (*rfc822outfull_t) (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:53:16: note: previous declaration of ‘rfc822outfull_t’ was here
   53 | typedef long (*rfc822outfull_t) (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:59:6: error: conflicting types for ‘rfc822_parse_msg_full’
   59 | void rfc822_parse_msg_full (ENVELOPE **en,BODY **bdy,char *s,unsigned long i,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:59:6: note: previous declaration of ‘rfc822_parse_msg_full’ was here
   59 | void rfc822_parse_msg_full (ENVELOPE **en,BODY **bdy,char *s,unsigned long i,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:62:6: error: conflicting types for ‘rfc822_parse_content’
   62 | void rfc822_parse_content (BODY *body,STRING *bs,char *h,unsigned long depth,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:62:6: note: previous declaration of ‘rfc822_parse_content’ was here
   62 | void rfc822_parse_content (BODY *body,STRING *bs,char *h,unsigned long depth,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:64:6: error: conflicting types for ‘rfc822_parse_content_header’
   64 | void rfc822_parse_content_header (BODY *body,char *name,char *s);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:64:6: note: previous declaration of ‘rfc822_parse_content_header’ was here
   64 | void rfc822_parse_content_header (BODY *body,char *name,char *s);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:65:6: error: conflicting types for ‘rfc822_parse_parameter’
   65 | void rfc822_parse_parameter (PARAMETER **par,char *text);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:65:6: note: previous declaration of ‘rfc822_parse_parameter’ was here
   65 | void rfc822_parse_parameter (PARAMETER **par,char *text);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:66:6: error: conflicting types for ‘rfc822_parse_adrlist’
   66 | void rfc822_parse_adrlist (ADDRESS **lst,char *string,char *host);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:66:6: note: previous declaration of ‘rfc822_parse_adrlist’ was here
   66 | void rfc822_parse_adrlist (ADDRESS **lst,char *string,char *host);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:67:10: error: conflicting types for ‘rfc822_parse_address’
   67 | ADDRESS *rfc822_parse_address (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:67:10: note: previous declaration of ‘rfc822_parse_address’ was here
   67 | ADDRESS *rfc822_parse_address (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:69:10: error: conflicting types for ‘rfc822_parse_group’
   69 | ADDRESS *rfc822_parse_group (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:69:10: note: previous declaration of ‘rfc822_parse_group’ was here
   69 | ADDRESS *rfc822_parse_group (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:71:10: error: conflicting types for ‘rfc822_parse_mailbox’
   71 | ADDRESS *rfc822_parse_mailbox (char **string,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:71:10: note: previous declaration of ‘rfc822_parse_mailbox’ was here
   71 | ADDRESS *rfc822_parse_mailbox (char **string,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:73:10: error: conflicting types for ‘rfc822_parse_routeaddr’
   73 | ADDRESS *rfc822_parse_routeaddr (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:73:10: note: previous declaration of ‘rfc822_parse_routeaddr’ was here
   73 | ADDRESS *rfc822_parse_routeaddr (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:74:10: error: conflicting types for ‘rfc822_parse_addrspec’
   74 | ADDRESS *rfc822_parse_addrspec (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:74:10: note: previous declaration of ‘rfc822_parse_addrspec’ was here
   74 | ADDRESS *rfc822_parse_addrspec (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:80:10: error: conflicting types for ‘rfc822_cpy_adr’
   80 | ADDRESS *rfc822_cpy_adr (ADDRESS *adr);
      |          ^~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:80:10: note: previous declaration of ‘rfc822_cpy_adr’ was here
   80 | ADDRESS *rfc822_cpy_adr (ADDRESS *adr);
      |          ^~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:84:6: error: conflicting types for ‘rfc822_output_full’
   84 | long rfc822_output_full (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,long ok8);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:84:6: note: previous declaration of ‘rfc822_output_full’ was here
   84 | long rfc822_output_full (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,long ok8);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:85:6: error: conflicting types for ‘rfc822_output_flush’
   85 | long rfc822_output_flush (RFC822BUFFER *buf);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:85:6: note: previous declaration of ‘rfc822_output_flush’ was here
   85 | long rfc822_output_flush (RFC822BUFFER *buf);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:86:6: error: conflicting types for ‘rfc822_output_header’
   86 | long rfc822_output_header (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:86:6: note: previous declaration of ‘rfc822_output_header’ was here
   86 | long rfc822_output_header (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:88:6: error: conflicting types for ‘rfc822_output_header_line’
   88 | long rfc822_output_header_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:88:6: note: previous declaration of ‘rfc822_output_header_line’ was here
   88 | long rfc822_output_header_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:90:6: error: conflicting types for ‘rfc822_output_address_line’
   90 | long rfc822_output_address_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:90:6: note: previous declaration of ‘rfc822_output_address_line’ was here
   90 | long rfc822_output_address_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:92:6: error: conflicting types for ‘rfc822_output_address_list’
   92 | long rfc822_output_address_list (RFC822BUFFER *buf,ADDRESS *adr,long pretty,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:92:6: note: previous declaration of ‘rfc822_output_address_list’ was here
   92 | long rfc822_output_address_list (RFC822BUFFER *buf,ADDRESS *adr,long pretty,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:94:6: error: conflicting types for ‘rfc822_output_address’
   94 | long rfc822_output_address (RFC822BUFFER *buf,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:94:6: note: previous declaration of ‘rfc822_output_address’ was here
   94 | long rfc822_output_address (RFC822BUFFER *buf,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:95:6: error: conflicting types for ‘rfc822_output_cat’
   95 | long rfc822_output_cat (RFC822BUFFER *buf,char *src,const char *specials);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:95:6: note: previous declaration of ‘rfc822_output_cat’ was here
   95 | long rfc822_output_cat (RFC822BUFFER *buf,char *src,const char *specials);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:96:6: error: conflicting types for ‘rfc822_output_parameter’
   96 | long rfc822_output_parameter (RFC822BUFFER *buf,PARAMETER *param);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:96:6: note: previous declaration of ‘rfc822_output_parameter’ was here
   96 | long rfc822_output_parameter (RFC822BUFFER *buf,PARAMETER *param);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:97:6: error: conflicting types for ‘rfc822_output_stringlist’
   97 | long rfc822_output_stringlist (RFC822BUFFER *buf,STRINGLIST *stl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:97:6: note: previous declaration of ‘rfc822_output_stringlist’ was here
   97 | long rfc822_output_stringlist (RFC822BUFFER *buf,STRINGLIST *stl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:98:6: error: conflicting types for ‘rfc822_output_body_header’
   98 | long rfc822_output_body_header (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:98:6: note: previous declaration of ‘rfc822_output_body_header’ was here
   98 | long rfc822_output_body_header (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:99:6: error: conflicting types for ‘rfc822_encode_body_7bit’
   99 | void rfc822_encode_body_7bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:99:6: note: previous declaration of ‘rfc822_encode_body_7bit’ was here
   99 | void rfc822_encode_body_7bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:100:6: error: conflicting types for ‘rfc822_encode_body_8bit’
  100 | void rfc822_encode_body_8bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:100:6: note: previous declaration of ‘rfc822_encode_body_8bit’ was here
  100 | void rfc822_encode_body_8bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:101:6: error: conflicting types for ‘rfc822_output_text’
  101 | long rfc822_output_text (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:101:6: note: previous declaration of ‘rfc822_output_text’ was here
  101 | long rfc822_output_text (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:111:6: error: conflicting types for ‘rfc822_header’
  111 | void rfc822_header (char *header,ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:111:6: note: previous declaration of ‘rfc822_header’ was here
  111 | void rfc822_header (char *header,ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:112:6: error: conflicting types for ‘rfc822_header_line’
  112 | void rfc822_header_line (char **header,char *type,ENVELOPE *env,char *text);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:112:6: note: previous declaration of ‘rfc822_header_line’ was here
  112 | void rfc822_header_line (char **header,char *type,ENVELOPE *env,char *text);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:113:6: error: conflicting types for ‘rfc822_address_line’
  113 | void rfc822_address_line (char **header,char *type,ENVELOPE *env,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:113:6: note: previous declaration of ‘rfc822_address_line’ was here
  113 | void rfc822_address_line (char **header,char *type,ENVELOPE *env,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:114:7: error: conflicting types for ‘rfc822_write_address_full’
  114 | char *rfc822_write_address_full (char *dest,ADDRESS *adr,char *base);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:114:7: note: previous declaration of ‘rfc822_write_address_full’ was here
  114 | char *rfc822_write_address_full (char *dest,ADDRESS *adr,char *base);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:115:6: error: conflicting types for ‘rfc822_address’
  115 | void rfc822_address (char *dest,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:115:6: note: previous declaration of ‘rfc822_address’ was here
  115 | void rfc822_address (char *dest,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:117:6: error: conflicting types for ‘rfc822_write_body_header’
  117 | void rfc822_write_body_header (char **header,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:117:6: note: previous declaration of ‘rfc822_write_body_header’ was here
  117 | void rfc822_write_body_header (char **header,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:118:6: error: conflicting types for ‘rfc822_output’
  118 | long rfc822_output (char *t,ENVELOPE *env,BODY *body,soutr_t f,void *s,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:118:6: note: previous declaration of ‘rfc822_output’ was here
  118 | long rfc822_output (char *t,ENVELOPE *env,BODY *body,soutr_t f,void *s,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:120:6: error: conflicting types for ‘rfc822_output_body’
  120 | long rfc822_output_body (BODY *body,soutr_t f,void *s);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:120:6: note: previous declaration of ‘rfc822_output_body’ was here
  120 | long rfc822_output_body (BODY *body,soutr_t f,void *s);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2690:
fdstring.h:31:16: error: redefinition of ‘struct fd_data’
   31 | typedef struct fd_data {
      |                ^~~~~~~
In file included from maildir.c:19:
fdstring.h:31:16: note: originally defined here
   31 | typedef struct fd_data {
      |                ^~~~~~~
In file included from maildir.c:2690:
fdstring.h:36:3: error: conflicting types for ‘FDDATA’
   36 | } FDDATA;
      |   ^~~~~~
In file included from maildir.c:19:
fdstring.h:36:3: note: previous declaration of ‘FDDATA’ was here
   36 | } FDDATA;
      |   ^~~~~~
In file included from maildir.c:2690:
fdstring.h:39:21: error: conflicting types for ‘fd_string’
   39 | extern STRINGDRIVER fd_string;
      |                     ^~~~~~~~~
In file included from maildir.c:19:
fdstring.h:39:21: note: previous declaration of ‘fd_string’ was here
   39 | extern STRINGDRIVER fd_string;
      |                     ^~~~~~~~~
In file included from maildir.c:2691:
misc.h:36:24: error: redefinition of ‘struct hash_entry’
   36 | #define HASHENT struct hash_entry
      |                        ^~~~~~~~~~
misc.h:38:1: note: in expansion of macro ‘HASHENT’
   38 | HASHENT {
      | ^~~~~~~
In file included from maildir.c:20:
misc.h:36:24: note: originally defined here
   36 | #define HASHENT struct hash_entry
      |                        ^~~~~~~~~~
misc.h:38:1: note: in expansion of macro ‘HASHENT’
   38 | HASHENT {
      | ^~~~~~~
In file included from maildir.c:2691:
misc.h:45:24: error: redefinition of ‘struct hash_table’
   45 | #define HASHTAB struct hash_table
      |                        ^~~~~~~~~~
misc.h:47:1: note: in expansion of macro ‘HASHTAB’
   47 | HASHTAB {
      | ^~~~~~~
In file included from maildir.c:20:
misc.h:45:24: note: originally defined here
   45 | #define HASHTAB struct hash_table
      |                        ^~~~~~~~~~
misc.h:47:1: note: in expansion of macro ‘HASHTAB’
   47 | HASHTAB {
      | ^~~~~~~
In file included from maildir.c:2691:
misc.h:85:7: error: conflicting types for ‘cpytxt’
   85 | char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size);
      |       ^~~~~~
In file included from maildir.c:20:
misc.h:85:7: note: previous declaration of ‘cpytxt’ was here
   85 | char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size);
      |       ^~~~~~
In file included from maildir.c:2691:
misc.h:86:7: error: conflicting types for ‘textcpy’
   86 | char *textcpy (SIZEDTEXT *dst,SIZEDTEXT *src);
      |       ^~~~~~~
In file included from maildir.c:20:
misc.h:86:7: note: previous declaration of ‘textcpy’ was here
   86 | char *textcpy (SIZEDTEXT *dst,SIZEDTEXT *src);
      |       ^~~~~~~
In file included from maildir.c:2691:
misc.h:87:7: error: conflicting types for ‘textcpystring’
   87 | char *textcpystring (SIZEDTEXT *text,STRING *bs);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:87:7: note: previous declaration of ‘textcpystring’ was here
   87 | char *textcpystring (SIZEDTEXT *text,STRING *bs);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:2691:
misc.h:88:7: error: conflicting types for ‘textcpyoffstring’
   88 | char *textcpyoffstring (SIZEDTEXT *text,STRING *bs,unsigned long offset,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:88:7: note: previous declaration of ‘textcpyoffstring’ was here
   88 | char *textcpyoffstring (SIZEDTEXT *text,STRING *bs,unsigned long offset,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:2691:
misc.h:95:10: error: conflicting types for ‘hash_create’
   95 | HASHTAB *hash_create (size_t size);
      |          ^~~~~~~~~~~
In file included from maildir.c:20:
misc.h:95:10: note: previous declaration of ‘hash_create’ was here
   95 | HASHTAB *hash_create (size_t size);
      |          ^~~~~~~~~~~
In file included from maildir.c:2691:
misc.h:96:6: error: conflicting types for ‘hash_destroy’
   96 | void hash_destroy (HASHTAB **hashtab);
      |      ^~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:96:6: note: previous declaration of ‘hash_destroy’ was here
   96 | void hash_destroy (HASHTAB **hashtab);
      |      ^~~~~~~~~~~~
In file included from maildir.c:2691:
misc.h:97:6: error: conflicting types for ‘hash_reset’
   97 | void hash_reset (HASHTAB *hashtab);
      |      ^~~~~~~~~~
In file included from maildir.c:20:
misc.h:97:6: note: previous declaration of ‘hash_reset’ was here
   97 | void hash_reset (HASHTAB *hashtab);
      |      ^~~~~~~~~~
In file included from maildir.c:2691:
misc.h:98:15: error: conflicting types for ‘hash_index’
   98 | unsigned long hash_index (HASHTAB *hashtab,char *key);
      |               ^~~~~~~~~~
In file included from maildir.c:20:
misc.h:98:15: note: previous declaration of ‘hash_index’ was here
   98 | unsigned long hash_index (HASHTAB *hashtab,char *key);
      |               ^~~~~~~~~~
In file included from maildir.c:2691:
misc.h:99:8: error: conflicting types for ‘hash_lookup’
   99 | void **hash_lookup (HASHTAB *hashtab,char *key);
      |        ^~~~~~~~~~~
In file included from maildir.c:20:
misc.h:99:8: note: previous declaration of ‘hash_lookup’ was here
   99 | void **hash_lookup (HASHTAB *hashtab,char *key);
      |        ^~~~~~~~~~~
In file included from maildir.c:2691:
misc.h:100:10: error: conflicting types for ‘hash_add’
  100 | HASHENT *hash_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |          ^~~~~~~~
In file included from maildir.c:20:
misc.h:100:10: note: previous declaration of ‘hash_add’ was here
  100 | HASHENT *hash_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |          ^~~~~~~~
In file included from maildir.c:2691:
misc.h:101:8: error: conflicting types for ‘hash_lookup_and_add’
  101 | void **hash_lookup_and_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |        ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:101:8: note: previous declaration of ‘hash_lookup_and_add’ was here
  101 | void **hash_lookup_and_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |        ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2691:
misc.h:107:5: error: conflicting types for ‘compare_csizedtext’
  107 | int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2);
      |     ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:107:5: note: previous declaration of ‘compare_csizedtext’ was here
  107 | int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2);
      |     ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2692:
dummy.h:31:6: error: conflicting types for ‘dummy_scan’
   31 | void dummy_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~~
In file included from maildir.c:21:
dummy.h:31:6: note: previous declaration of ‘dummy_scan’ was here
   31 | void dummy_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~~
In file included from maildir.c:2692:
dummy.h:32:6: error: conflicting types for ‘dummy_list’
   32 | void dummy_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:21:
dummy.h:32:6: note: previous declaration of ‘dummy_list’ was here
   32 | void dummy_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:2692:
dummy.h:33:6: error: conflicting types for ‘dummy_lsub’
   33 | void dummy_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:21:
dummy.h:33:6: note: previous declaration of ‘dummy_lsub’ was here
   33 | void dummy_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:2692:
dummy.h:34:6: error: conflicting types for ‘scan_contents’
   34 | long scan_contents (DRIVER *dtb,char *name,char *contents,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:34:6: note: previous declaration of ‘scan_contents’ was here
   34 | long scan_contents (DRIVER *dtb,char *name,char *contents,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2692:
dummy.h:38:6: error: conflicting types for ‘dummy_create’
   38 | long dummy_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:38:6: note: previous declaration of ‘dummy_create’ was here
   38 | long dummy_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:2692:
dummy.h:39:6: error: conflicting types for ‘dummy_create_path’
   39 | long dummy_create_path (MAILSTREAM *stream,char *path,long dirmode);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:39:6: note: previous declaration of ‘dummy_create_path’ was here
   39 | long dummy_create_path (MAILSTREAM *stream,char *path,long dirmode);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2692:
dummy.h:40:6: error: conflicting types for ‘dummy_delete’
   40 | long dummy_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:40:6: note: previous declaration of ‘dummy_delete’ was here
   40 | long dummy_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:2692:
dummy.h:41:6: error: conflicting types for ‘dummy_rename’
   41 | long dummy_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:41:6: note: previous declaration of ‘dummy_rename’ was here
   41 | long dummy_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:13:12: error: redefinition of ‘sep1’
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:14:12: error: redefinition of ‘sep2’
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:15:12: error: redefinition of ‘sep3’
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:17:13: error: redefinition of ‘sep’
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:2693:
maildir.h:22:16: error: redeclaration of enumerator ‘Draft’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
In file included from maildir.c:22:
maildir.h:700:16: note: previous definition of ‘Draft’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
In file included from maildir.c:2693:
maildir.h:22:23: error: redeclaration of enumerator ‘Flagged’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
In file included from maildir.c:22:
maildir.h:700:23: note: previous definition of ‘Flagged’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
In file included from maildir.c:2693:
maildir.h:22:32: error: redeclaration of enumerator ‘Passed’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
In file included from maildir.c:22:
maildir.h:700:32: note: previous definition of ‘Passed’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
In file included from maildir.c:2693:
maildir.h:22:40: error: redeclaration of enumerator ‘Replied’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
In file included from maildir.c:22:
maildir.h:700:40: note: previous definition of ‘Replied’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
In file included from maildir.c:2693:
maildir.h:22:49: error: redeclaration of enumerator ‘Seen’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
In file included from maildir.c:22:
maildir.h:700:49: note: previous definition of ‘Seen’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
In file included from maildir.c:2693:
maildir.h:22:55: error: redeclaration of enumerator ‘Trashed’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
In file included from maildir.c:22:
maildir.h:700:55: note: previous definition of ‘Trashed’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
In file included from maildir.c:2693:
maildir.h:23:9: error: redeclaration of enumerator ‘EmptyFlag’
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
In file included from maildir.c:22:
maildir.h:701:9: note: previous definition of ‘EmptyFlag’ was here
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
In file included from maildir.c:2693:
maildir.h:23:20: error: redeclaration of enumerator ‘EndFlags’
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
In file included from maildir.c:22:
maildir.h:701:20: note: previous definition of ‘EndFlags’ was here
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
In file included from maildir.c:2693:
maildir.h:23:30: error: conflicting types for ‘MdFlagNamesType’
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:701:30: note: previous declaration of ‘MdFlagNamesType’ was here
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:24:11: error: redefinition of ‘mdimapflags’
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:25:11: error: redefinition of ‘mdkwdflags’
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:28:13: error: redefinition of ‘mdflags’
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:2693:
maildir.h:30:12: error: redefinition of ‘cmdflags’
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:2693:
maildir.h:38:15: error: redeclaration of enumerator ‘Cur’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
In file included from maildir.c:22:
maildir.h:716:15: note: previous definition of ‘Cur’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
In file included from maildir.c:2693:
maildir.h:38:20: error: redeclaration of enumerator ‘Tmp’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
In file included from maildir.c:22:
maildir.h:716:20: note: previous definition of ‘Tmp’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
In file included from maildir.c:2693:
maildir.h:38:25: error: redeclaration of enumerator ‘New’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
In file included from maildir.c:22:
maildir.h:716:25: note: previous definition of ‘New’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
In file included from maildir.c:2693:
maildir.h:38:30: error: redeclaration of enumerator ‘EndDir’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
In file included from maildir.c:22:
maildir.h:716:30: note: previous definition of ‘EndDir’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
In file included from maildir.c:2693:
maildir.h:38:38: error: conflicting types for ‘DirNamesType’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:716:38: note: previous declaration of ‘DirNamesType’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:39:7: error: redefinition of ‘mdstruct’
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:2693:
maildir.h:71:12: error: redefinition of ‘mduid’
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:2693:
maildir.h:76:6: error: redefinition of ‘mdlocaldomain’
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:77:7: error: redefinition of ‘mypid’
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:2693:
maildir.h:78:14: error: redefinition of ‘mdfpath’
   78 | static char *mdfpath = NULL;
      |              ^~~~~~~
In file included from maildir.c:22:
maildir.h:756:14: note: previous definition of ‘mdfpath’ was here
  756 | static char *mdfpath = NULL;
      |              ^~~~~~~
In file included from maildir.c:2693:
maildir.h:79:13: error: redefinition of ‘myMdInboxDir’
   79 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:757:13: note: previous definition of ‘myMdInboxDir’ was here
  757 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:80:13: error: redefinition of ‘CourierStyle’
   80 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:758:13: note: previous definition of ‘CourierStyle’ was here
  758 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:84:16: error: redefinition of ‘struct courier_local’
   84 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:762:16: note: originally defined here
  762 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:87:3: error: conflicting types for ‘COURIERLOCAL’
   87 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:765:3: note: previous declaration of ‘COURIERLOCAL’ was here
  765 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:89:16: error: redefinition of ‘struct courier’
   89 | typedef struct courier {
      |                ^~~~~~~
In file included from maildir.c:22:
maildir.h:767:16: note: originally defined here
  767 | typedef struct courier {
      |                ^~~~~~~
In file included from maildir.c:2693:
maildir.h:94:3: error: conflicting types for ‘COURIER_S’
   94 | } COURIER_S;
      |   ^~~~~~~~~
In file included from maildir.c:22:
maildir.h:772:3: note: previous declaration of ‘COURIER_S’ was here
  772 | } COURIER_S;
      |   ^~~~~~~~~
In file included from maildir.c:2693:
maildir.h:97:16: error: redefinition of ‘struct maildir_local’
   97 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:775:16: note: originally defined here
  775 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:109:3: error: conflicting types for ‘MAILDIRLOCAL’
  109 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:787:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  787 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:114:16: error: redefinition of ‘struct maildir_file_info’
  114 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:792:16: note: originally defined here
  792 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:122:3: error: conflicting types for ‘MAILDIRFILE’
  122 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:800:3: note: previous declaration of ‘MAILDIRFILE’ was here
  800 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:134:9: error: conflicting types for ‘maildir_valid’
  134 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:135:13: error: conflicting types for ‘maildir_open’
  135 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:136:6: error: conflicting types for ‘maildir_close’
  136 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:137:6: error: conflicting types for ‘maildir_ping’
  137 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:138:6: error: conflicting types for ‘maildir_check’
  138 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:139:6: error: conflicting types for ‘maildir_text’
  139 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:140:7: error: conflicting types for ‘maildir_header’
  140 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:142:6: error: conflicting types for ‘maildir_list’
  142 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:145:6: error: conflicting types for ‘maildir_create’
  145 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:146:6: error: conflicting types for ‘maildir_flagmsg’
  146 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:147:6: error: conflicting types for ‘maildir_expunge’
  147 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:148:6: error: conflicting types for ‘maildir_copy’
  148 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:149:6: error: conflicting types for ‘maildir_append’
  149 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:150:6: error: conflicting types for ‘maildir_delete’
  150 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:151:6: error: conflicting types for ‘maildir_rename’
  151 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:152:6: error: conflicting types for ‘maildir_sub’
  152 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:153:6: error: conflicting types for ‘maildir_unsub’
  153 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:154:6: error: conflicting types for ‘maildir_lsub’
  154 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:155:6: error: conflicting types for ‘courier_list’
  155 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:168:6: error: conflicting types for ‘maildir_list_work’
  168 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:169:6: error: conflicting types for ‘courier_list_work’
  169 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:174:5: error: conflicting types for ‘maildir_message_exists’
  174 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:176:7: error: conflicting types for ‘maildir_text_work’
  176 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:177:16: error: conflicting types for ‘maildir_parse_message’
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:184:6: error: conflicting types for ‘maildir_parse_folder’
  184 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:188:7: error: conflicting types for ‘maildir_initial_check’
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:189:16: error: conflicting types for ‘maildir_parse_dir’
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:196:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  196 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:197:6: error: conflicting types for ‘maildir_abort’
  197 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:202:6: error: conflicting types for ‘maildir_get_file’
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:206:6: error: conflicting types for ‘maildir_get_date’
  206 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:207:6: error: conflicting types for ‘maildir_fast’
  207 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:210:6: error: conflicting types for ‘courier_free_cdir’
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:211:12: error: conflicting types for ‘courier_get_cdir’
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:212:5: error: conflicting types for ‘courier_search_list’
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:213:12: error: conflicting types for ‘courier_list_dir’
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:214:6: error: conflicting types for ‘courier_list_info’
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:217:5: error: conflicting types for ‘maildir_can_assign_uid’
  217 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:218:6: error: conflicting types for ‘maildir_read_uid’
  218 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:220:6: error: conflicting types for ‘maildir_write_uid’
  220 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:223:6: error: conflicting types for ‘maildir_delete_uid’
  223 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:224:6: error: conflicting types for ‘maildir_assign_uid’
  224 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:225:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  225 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:239:12: error: redefinition of ‘sep1’
  239 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:240:12: error: redefinition of ‘sep2’
  240 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:241:12: error: redefinition of ‘sep3’
  241 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:243:13: error: redefinition of ‘sep’
  243 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:2693:
maildir.h:248:16: error: redeclaration of enumerator ‘Draft’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:22:16: note: previous definition of ‘Draft’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:248:23: error: redeclaration of enumerator ‘Flagged’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:22:23: note: previous definition of ‘Flagged’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:248:32: error: redeclaration of enumerator ‘Passed’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:22:32: note: previous definition of ‘Passed’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:248:40: error: redeclaration of enumerator ‘Replied’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:22:40: note: previous definition of ‘Replied’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:248:49: error: redeclaration of enumerator ‘Seen’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:22:49: note: previous definition of ‘Seen’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:248:55: error: redeclaration of enumerator ‘Trashed’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:22:55: note: previous definition of ‘Trashed’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:249:9: error: redeclaration of enumerator ‘EmptyFlag’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:23:9: note: previous definition of ‘EmptyFlag’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:249:20: error: redeclaration of enumerator ‘EndFlags’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:23:20: note: previous definition of ‘EndFlags’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:249:30: error: conflicting types for ‘MdFlagNamesType’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:23:30: note: previous declaration of ‘MdFlagNamesType’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:250:11: error: redefinition of ‘mdimapflags’
  250 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:251:11: error: redefinition of ‘mdkwdflags’
  251 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:254:13: error: redefinition of ‘mdflags’
  254 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:2693:
maildir.h:256:12: error: redefinition of ‘cmdflags’
  256 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:2693:
maildir.h:264:15: error: redeclaration of enumerator ‘Cur’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:38:15: note: previous definition of ‘Cur’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:264:20: error: redeclaration of enumerator ‘Tmp’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:38:20: note: previous definition of ‘Tmp’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:264:25: error: redeclaration of enumerator ‘New’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:38:25: note: previous definition of ‘New’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:264:30: error: redeclaration of enumerator ‘EndDir’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:38:30: note: previous definition of ‘EndDir’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:264:38: error: conflicting types for ‘DirNamesType’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:38:38: note: previous declaration of ‘DirNamesType’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:265:7: error: redefinition of ‘mdstruct’
  265 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:2693:
maildir.h:297:12: error: redefinition of ‘mduid’
  297 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:2693:
maildir.h:302:6: error: redefinition of ‘mdlocaldomain’
  302 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:303:7: error: redefinition of ‘mypid’
  303 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:2693:
maildir.h:304:14: error: redefinition of ‘mdfpath’
  304 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:78:14: note: previous definition of ‘mdfpath’ was here
   78 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:305:13: error: redefinition of ‘myMdInboxDir’
  305 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:79:13: note: previous definition of ‘myMdInboxDir’ was here
   79 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:306:13: error: redefinition of ‘CourierStyle’
  306 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:80:13: note: previous definition of ‘CourierStyle’ was here
   80 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:310:16: error: redefinition of ‘struct courier_local’
  310 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:84:16: note: originally defined here
   84 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:313:3: error: conflicting types for ‘COURIERLOCAL’
  313 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:87:3: note: previous declaration of ‘COURIERLOCAL’ was here
   87 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:315:16: error: redefinition of ‘struct courier’
  315 | typedef struct courier {
      |                ^~~~~~~
maildir.h:89:16: note: originally defined here
   89 | typedef struct courier {
      |                ^~~~~~~
maildir.h:320:3: error: conflicting types for ‘COURIER_S’
  320 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:94:3: note: previous declaration of ‘COURIER_S’ was here
   94 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:323:16: error: redefinition of ‘struct maildir_local’
  323 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:97:16: note: originally defined here
   97 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:335:3: error: conflicting types for ‘MAILDIRLOCAL’
  335 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:109:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  109 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:340:16: error: redefinition of ‘struct maildir_file_info’
  340 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:114:16: note: originally defined here
  114 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:348:3: error: conflicting types for ‘MAILDIRFILE’
  348 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:122:3: note: previous declaration of ‘MAILDIRFILE’ was here
  122 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:360:9: error: conflicting types for ‘maildir_valid’
  360 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:361:13: error: conflicting types for ‘maildir_open’
  361 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:362:6: error: conflicting types for ‘maildir_close’
  362 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:363:6: error: conflicting types for ‘maildir_ping’
  363 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:364:6: error: conflicting types for ‘maildir_check’
  364 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:365:6: error: conflicting types for ‘maildir_text’
  365 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:366:7: error: conflicting types for ‘maildir_header’
  366 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:368:6: error: conflicting types for ‘maildir_list’
  368 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:371:6: error: conflicting types for ‘maildir_create’
  371 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:372:6: error: conflicting types for ‘maildir_flagmsg’
  372 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:373:6: error: conflicting types for ‘maildir_expunge’
  373 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:374:6: error: conflicting types for ‘maildir_copy’
  374 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:375:6: error: conflicting types for ‘maildir_append’
  375 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:376:6: error: conflicting types for ‘maildir_delete’
  376 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:377:6: error: conflicting types for ‘maildir_rename’
  377 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:378:6: error: conflicting types for ‘maildir_sub’
  378 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:379:6: error: conflicting types for ‘maildir_unsub’
  379 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:380:6: error: conflicting types for ‘maildir_lsub’
  380 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:381:6: error: conflicting types for ‘courier_list’
  381 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:394:6: error: conflicting types for ‘maildir_list_work’
  394 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:395:6: error: conflicting types for ‘courier_list_work’
  395 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:400:5: error: conflicting types for ‘maildir_message_exists’
  400 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:402:7: error: conflicting types for ‘maildir_text_work’
  402 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:403:16: error: conflicting types for ‘maildir_parse_message’
  403 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:410:6: error: conflicting types for ‘maildir_parse_folder’
  410 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:414:7: error: conflicting types for ‘maildir_initial_check’
  414 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:415:16: error: conflicting types for ‘maildir_parse_dir’
  415 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:422:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  422 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:423:6: error: conflicting types for ‘maildir_abort’
  423 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:428:6: error: conflicting types for ‘maildir_get_file’
  428 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:432:6: error: conflicting types for ‘maildir_get_date’
  432 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:433:6: error: conflicting types for ‘maildir_fast’
  433 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:436:6: error: conflicting types for ‘courier_free_cdir’
  436 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:437:12: error: conflicting types for ‘courier_get_cdir’
  437 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:438:5: error: conflicting types for ‘courier_search_list’
  438 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:439:12: error: conflicting types for ‘courier_list_dir’
  439 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:440:6: error: conflicting types for ‘courier_list_info’
  440 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:443:5: error: conflicting types for ‘maildir_can_assign_uid’
  443 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:444:6: error: conflicting types for ‘maildir_read_uid’
  444 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:446:6: error: conflicting types for ‘maildir_write_uid’
  446 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:449:6: error: conflicting types for ‘maildir_delete_uid’
  449 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:450:6: error: conflicting types for ‘maildir_assign_uid’
  450 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:451:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  451 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:465:12: error: redefinition of ‘sep1’
  465 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:466:12: error: redefinition of ‘sep2’
  466 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:467:12: error: redefinition of ‘sep3’
  467 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:469:13: error: redefinition of ‘sep’
  469 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:2693:
maildir.h:474:16: error: redeclaration of enumerator ‘Draft’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:248:16: note: previous definition of ‘Draft’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:474:23: error: redeclaration of enumerator ‘Flagged’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:248:23: note: previous definition of ‘Flagged’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:474:32: error: redeclaration of enumerator ‘Passed’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:248:32: note: previous definition of ‘Passed’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:474:40: error: redeclaration of enumerator ‘Replied’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:248:40: note: previous definition of ‘Replied’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:474:49: error: redeclaration of enumerator ‘Seen’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:248:49: note: previous definition of ‘Seen’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:474:55: error: redeclaration of enumerator ‘Trashed’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:248:55: note: previous definition of ‘Trashed’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:475:9: error: redeclaration of enumerator ‘EmptyFlag’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:249:9: note: previous definition of ‘EmptyFlag’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:475:20: error: redeclaration of enumerator ‘EndFlags’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:249:20: note: previous definition of ‘EndFlags’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:475:30: error: conflicting types for ‘MdFlagNamesType’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:249:30: note: previous declaration of ‘MdFlagNamesType’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:476:11: error: redefinition of ‘mdimapflags’
  476 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:477:11: error: redefinition of ‘mdkwdflags’
  477 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:480:13: error: redefinition of ‘mdflags’
  480 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:2693:
maildir.h:482:12: error: redefinition of ‘cmdflags’
  482 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:2693:
maildir.h:490:15: error: redeclaration of enumerator ‘Cur’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:264:15: note: previous definition of ‘Cur’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:490:20: error: redeclaration of enumerator ‘Tmp’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:264:20: note: previous definition of ‘Tmp’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:490:25: error: redeclaration of enumerator ‘New’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:264:25: note: previous definition of ‘New’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:490:30: error: redeclaration of enumerator ‘EndDir’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:264:30: note: previous definition of ‘EndDir’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:490:38: error: conflicting types for ‘DirNamesType’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:264:38: note: previous declaration of ‘DirNamesType’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:491:7: error: redefinition of ‘mdstruct’
  491 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:2693:
maildir.h:523:12: error: redefinition of ‘mduid’
  523 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:2693:
maildir.h:528:6: error: redefinition of ‘mdlocaldomain’
  528 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:529:7: error: redefinition of ‘mypid’
  529 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:2693:
maildir.h:530:14: error: redefinition of ‘mdfpath’
  530 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:304:14: note: previous definition of ‘mdfpath’ was here
  304 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:531:13: error: redefinition of ‘myMdInboxDir’
  531 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:305:13: note: previous definition of ‘myMdInboxDir’ was here
  305 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:532:13: error: redefinition of ‘CourierStyle’
  532 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:306:13: note: previous definition of ‘CourierStyle’ was here
  306 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:536:16: error: redefinition of ‘struct courier_local’
  536 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:310:16: note: originally defined here
  310 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:539:3: error: conflicting types for ‘COURIERLOCAL’
  539 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:313:3: note: previous declaration of ‘COURIERLOCAL’ was here
  313 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:541:16: error: redefinition of ‘struct courier’
  541 | typedef struct courier {
      |                ^~~~~~~
maildir.h:315:16: note: originally defined here
  315 | typedef struct courier {
      |                ^~~~~~~
maildir.h:546:3: error: conflicting types for ‘COURIER_S’
  546 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:320:3: note: previous declaration of ‘COURIER_S’ was here
  320 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:549:16: error: redefinition of ‘struct maildir_local’
  549 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:323:16: note: originally defined here
  323 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:561:3: error: conflicting types for ‘MAILDIRLOCAL’
  561 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:335:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  335 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:566:16: error: redefinition of ‘struct maildir_file_info’
  566 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:340:16: note: originally defined here
  340 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:574:3: error: conflicting types for ‘MAILDIRFILE’
  574 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:348:3: note: previous declaration of ‘MAILDIRFILE’ was here
  348 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:586:9: error: conflicting types for ‘maildir_valid’
  586 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:587:13: error: conflicting types for ‘maildir_open’
  587 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:588:6: error: conflicting types for ‘maildir_close’
  588 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:589:6: error: conflicting types for ‘maildir_ping’
  589 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:590:6: error: conflicting types for ‘maildir_check’
  590 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:591:6: error: conflicting types for ‘maildir_text’
  591 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:592:7: error: conflicting types for ‘maildir_header’
  592 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:594:6: error: conflicting types for ‘maildir_list’
  594 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:597:6: error: conflicting types for ‘maildir_create’
  597 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:598:6: error: conflicting types for ‘maildir_flagmsg’
  598 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:599:6: error: conflicting types for ‘maildir_expunge’
  599 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:600:6: error: conflicting types for ‘maildir_copy’
  600 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:601:6: error: conflicting types for ‘maildir_append’
  601 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:602:6: error: conflicting types for ‘maildir_delete’
  602 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:603:6: error: conflicting types for ‘maildir_rename’
  603 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:604:6: error: conflicting types for ‘maildir_sub’
  604 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:605:6: error: conflicting types for ‘maildir_unsub’
  605 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:606:6: error: conflicting types for ‘maildir_lsub’
  606 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:607:6: error: conflicting types for ‘courier_list’
  607 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:620:6: error: conflicting types for ‘maildir_list_work’
  620 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:621:6: error: conflicting types for ‘courier_list_work’
  621 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:626:5: error: conflicting types for ‘maildir_message_exists’
  626 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:628:7: error: conflicting types for ‘maildir_text_work’
  628 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:629:16: error: conflicting types for ‘maildir_parse_message’
  629 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:636:6: error: conflicting types for ‘maildir_parse_folder’
  636 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:640:7: error: conflicting types for ‘maildir_initial_check’
  640 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:641:16: error: conflicting types for ‘maildir_parse_dir’
  641 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:648:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  648 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:649:6: error: conflicting types for ‘maildir_abort’
  649 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:654:6: error: conflicting types for ‘maildir_get_file’
  654 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:658:6: error: conflicting types for ‘maildir_get_date’
  658 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:659:6: error: conflicting types for ‘maildir_fast’
  659 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:662:6: error: conflicting types for ‘courier_free_cdir’
  662 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:663:12: error: conflicting types for ‘courier_get_cdir’
  663 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:664:5: error: conflicting types for ‘courier_search_list’
  664 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:665:12: error: conflicting types for ‘courier_list_dir’
  665 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:666:6: error: conflicting types for ‘courier_list_info’
  666 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:669:5: error: conflicting types for ‘maildir_can_assign_uid’
  669 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:670:6: error: conflicting types for ‘maildir_read_uid’
  670 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:672:6: error: conflicting types for ‘maildir_write_uid’
  672 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:675:6: error: conflicting types for ‘maildir_delete_uid’
  675 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:676:6: error: conflicting types for ‘maildir_assign_uid’
  676 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:677:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  677 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:691:12: error: redefinition of ‘sep1’
  691 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:692:12: error: redefinition of ‘sep2’
  692 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:693:12: error: redefinition of ‘sep3’
  693 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:2693:
maildir.h:695:13: error: redefinition of ‘sep’
  695 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:2693:
maildir.h:700:16: error: redeclaration of enumerator ‘Draft’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:474:16: note: previous definition of ‘Draft’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:700:23: error: redeclaration of enumerator ‘Flagged’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:474:23: note: previous definition of ‘Flagged’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:700:32: error: redeclaration of enumerator ‘Passed’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:474:32: note: previous definition of ‘Passed’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:700:40: error: redeclaration of enumerator ‘Replied’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:474:40: note: previous definition of ‘Replied’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:700:49: error: redeclaration of enumerator ‘Seen’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:474:49: note: previous definition of ‘Seen’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:700:55: error: redeclaration of enumerator ‘Trashed’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:474:55: note: previous definition of ‘Trashed’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:701:9: error: redeclaration of enumerator ‘EmptyFlag’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:475:9: note: previous definition of ‘EmptyFlag’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:701:20: error: redeclaration of enumerator ‘EndFlags’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:475:20: note: previous definition of ‘EndFlags’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:701:30: error: conflicting types for ‘MdFlagNamesType’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:475:30: note: previous declaration of ‘MdFlagNamesType’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:702:11: error: redefinition of ‘mdimapflags’
  702 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:703:11: error: redefinition of ‘mdkwdflags’
  703 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:706:13: error: redefinition of ‘mdflags’
  706 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:2693:
maildir.h:708:12: error: redefinition of ‘cmdflags’
  708 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:2693:
maildir.h:716:15: error: redeclaration of enumerator ‘Cur’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:490:15: note: previous definition of ‘Cur’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:716:20: error: redeclaration of enumerator ‘Tmp’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:490:20: note: previous definition of ‘Tmp’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:716:25: error: redeclaration of enumerator ‘New’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:490:25: note: previous definition of ‘New’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:716:30: error: redeclaration of enumerator ‘EndDir’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:490:30: note: previous definition of ‘EndDir’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:716:38: error: conflicting types for ‘DirNamesType’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:490:38: note: previous declaration of ‘DirNamesType’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:717:7: error: redefinition of ‘mdstruct’
  717 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:2693:
maildir.h:749:12: error: redefinition of ‘mduid’
  749 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:2693:
maildir.h:754:6: error: redefinition of ‘mdlocaldomain’
  754 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:755:7: error: redefinition of ‘mypid’
  755 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:2693:
maildir.h:756:14: error: redefinition of ‘mdfpath’
  756 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:530:14: note: previous definition of ‘mdfpath’ was here
  530 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:757:13: error: redefinition of ‘myMdInboxDir’
  757 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:531:13: note: previous definition of ‘myMdInboxDir’ was here
  531 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:758:13: error: redefinition of ‘CourierStyle’
  758 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:532:13: note: previous definition of ‘CourierStyle’ was here
  532 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:762:16: error: redefinition of ‘struct courier_local’
  762 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:536:16: note: originally defined here
  536 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:765:3: error: conflicting types for ‘COURIERLOCAL’
  765 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:539:3: note: previous declaration of ‘COURIERLOCAL’ was here
  539 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:767:16: error: redefinition of ‘struct courier’
  767 | typedef struct courier {
      |                ^~~~~~~
maildir.h:541:16: note: originally defined here
  541 | typedef struct courier {
      |                ^~~~~~~
maildir.h:772:3: error: conflicting types for ‘COURIER_S’
  772 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:546:3: note: previous declaration of ‘COURIER_S’ was here
  546 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:775:16: error: redefinition of ‘struct maildir_local’
  775 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:549:16: note: originally defined here
  549 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:787:3: error: conflicting types for ‘MAILDIRLOCAL’
  787 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:561:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  561 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:792:16: error: redefinition of ‘struct maildir_file_info’
  792 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:566:16: note: originally defined here
  566 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:800:3: error: conflicting types for ‘MAILDIRFILE’
  800 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:574:3: note: previous declaration of ‘MAILDIRFILE’ was here
  574 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:812:9: error: conflicting types for ‘maildir_valid’
  812 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:813:13: error: conflicting types for ‘maildir_open’
  813 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:814:6: error: conflicting types for ‘maildir_close’
  814 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:815:6: error: conflicting types for ‘maildir_ping’
  815 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:816:6: error: conflicting types for ‘maildir_check’
  816 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:817:6: error: conflicting types for ‘maildir_text’
  817 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:818:7: error: conflicting types for ‘maildir_header’
  818 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:820:6: error: conflicting types for ‘maildir_list’
  820 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:823:6: error: conflicting types for ‘maildir_create’
  823 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:824:6: error: conflicting types for ‘maildir_flagmsg’
  824 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:825:6: error: conflicting types for ‘maildir_expunge’
  825 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:826:6: error: conflicting types for ‘maildir_copy’
  826 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:827:6: error: conflicting types for ‘maildir_append’
  827 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:828:6: error: conflicting types for ‘maildir_delete’
  828 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:829:6: error: conflicting types for ‘maildir_rename’
  829 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:830:6: error: conflicting types for ‘maildir_sub’
  830 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:831:6: error: conflicting types for ‘maildir_unsub’
  831 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:832:6: error: conflicting types for ‘maildir_lsub’
  832 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:833:6: error: conflicting types for ‘courier_list’
  833 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:846:6: error: conflicting types for ‘maildir_list_work’
  846 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:847:6: error: conflicting types for ‘courier_list_work’
  847 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:852:5: error: conflicting types for ‘maildir_message_exists’
  852 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:854:7: error: conflicting types for ‘maildir_text_work’
  854 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:855:16: error: conflicting types for ‘maildir_parse_message’
  855 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:862:6: error: conflicting types for ‘maildir_parse_folder’
  862 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:866:7: error: conflicting types for ‘maildir_initial_check’
  866 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:867:16: error: conflicting types for ‘maildir_parse_dir’
  867 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:874:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  874 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:875:6: error: conflicting types for ‘maildir_abort’
  875 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:880:6: error: conflicting types for ‘maildir_get_file’
  880 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:884:6: error: conflicting types for ‘maildir_get_date’
  884 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:885:6: error: conflicting types for ‘maildir_fast’
  885 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:888:6: error: conflicting types for ‘courier_free_cdir’
  888 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:889:12: error: conflicting types for ‘courier_get_cdir’
  889 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:890:5: error: conflicting types for ‘courier_search_list’
  890 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:891:12: error: conflicting types for ‘courier_list_dir’
  891 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:892:6: error: conflicting types for ‘courier_list_info’
  892 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:895:5: error: conflicting types for ‘maildir_can_assign_uid’
  895 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:896:6: error: conflicting types for ‘maildir_read_uid’
  896 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:898:6: error: conflicting types for ‘maildir_write_uid’
  898 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:901:6: error: conflicting types for ‘maildir_delete_uid’
  901 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:902:6: error: conflicting types for ‘maildir_assign_uid’
  902 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:903:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  903 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2696:8: error: conflicting types for ‘maildirdriver’
 2696 | DRIVER maildirdriver = {
      |        ^~~~~~~~~~~~~
maildir.c:25:8: note: previous definition of ‘maildirdriver’ was here
   25 | DRIVER maildirdriver = {
      |        ^~~~~~~~~~~~~
maildir.c:2736:8: error: conflicting types for ‘courierdriver’
 2736 | DRIVER courierdriver = {
      |        ^~~~~~~~~~~~~
maildir.c:65:8: note: previous definition of ‘courierdriver’ was here
   65 | DRIVER courierdriver = {
      |        ^~~~~~~~~~~~~
maildir.c:2775:12: error: conflicting types for ‘maildirproto’
 2775 | MAILSTREAM maildirproto = {&maildirdriver}; /* prototype stream */
      |            ^~~~~~~~~~~~
maildir.c:104:12: note: previous definition of ‘maildirproto’ was here
  104 | MAILSTREAM maildirproto = {&maildirdriver}; /* prototype stream */
      |            ^~~~~~~~~~~~
maildir.c:2775:28: warning: initialization of ‘struct driver *’ from incompatible pointer type ‘struct driver *’ [-Wincompatible-pointer-types]
 2775 | MAILSTREAM maildirproto = {&maildirdriver}; /* prototype stream */
      |                            ^
maildir.c:2775:28: note: (near initialization for ‘maildirproto.dtb’)
maildir.c:2776:12: error: conflicting types for ‘courierproto’
 2776 | MAILSTREAM courierproto = {&courierdriver}; /* prototype stream */
      |            ^~~~~~~~~~~~
maildir.c:105:12: note: previous definition of ‘courierproto’ was here
  105 | MAILSTREAM courierproto = {&courierdriver}; /* prototype stream */
      |            ^~~~~~~~~~~~
maildir.c:2776:28: warning: initialization of ‘struct driver *’ from incompatible pointer type ‘struct driver *’ [-Wincompatible-pointer-types]
 2776 | MAILSTREAM courierproto = {&courierdriver}; /* prototype stream */
      |                            ^
maildir.c:2776:28: note: (near initialization for ‘courierproto.dtb’)
maildir.c:2778:6: error: redefinition of ‘maildir_dirfmttest’
 2778 | long maildir_dirfmttest (char *name)
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:107:6: note: previous definition of ‘maildir_dirfmttest’ was here
  107 | long maildir_dirfmttest (char *name)
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2788:1: error: redefinition of ‘md_domain_name’
 2788 | md_domain_name(void)
      | ^~~~~~~~~~~~~~
maildir.c:117:1: note: previous definition of ‘md_domain_name’ was here
  117 | md_domain_name(void)
      | ^~~~~~~~~~~~~~
maildir.c:2812:1: error: redefinition of ‘myrootdir’
 2812 | myrootdir(char *name)
      | ^~~~~~~~~
maildir.c:141:1: note: previous definition of ‘myrootdir’ was here
  141 | myrootdir(char *name)
      | ^~~~~~~~~
maildir.c:2818:1: error: redefinition of ‘mdirpath’
 2818 | mdirpath(void)
      | ^~~~~~~~
maildir.c:147:1: note: previous definition of ‘mdirpath’ was here
  147 | mdirpath(void)
      | ^~~~~~~~
maildir.c:2828:1: error: redefinition of ‘maildir_remove_root’
 2828 | maildir_remove_root (char *name)
      | ^~~~~~~~~~~~~~~~~~~
maildir.c:157:1: note: previous definition of ‘maildir_remove_root’ was here
  157 | maildir_remove_root (char *name)
      | ^~~~~~~~~~~~~~~~~~~
maildir.c:2850:5: error: redefinition of ‘maildir_valid_name’
 2850 | int maildir_valid_name (char *name)
      |     ^~~~~~~~~~~~~~~~~~
maildir.c:179:5: note: previous definition of ‘maildir_valid_name’ was here
  179 | int maildir_valid_name (char *name)
      |     ^~~~~~~~~~~~~~~~~~
maildir.c:2866:5: error: redefinition of ‘maildir_valid_dir’
 2866 | int maildir_valid_dir (char *name)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:195:5: note: previous definition of ‘maildir_valid_dir’ was here
  195 | int maildir_valid_dir (char *name)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:2885:6: error: redefinition of ‘courier_realname’
 2885 | void courier_realname(char *name, char *realname)
      |      ^~~~~~~~~~~~~~~~
maildir.c:214:6: note: previous definition of ‘courier_realname’ was here
  214 | void courier_realname(char *name, char *realname)
      |      ^~~~~~~~~~~~~~~~
maildir.c:2907:5: error: redefinition of ‘maildir_file_path’
 2907 | int maildir_file_path (char *name, char *tmp, size_t sizeoftmp)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:236:5: note: previous definition of ‘maildir_file_path’ was here
  236 | int maildir_file_path (char *name, char *tmp, size_t sizeoftmp)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:2957:1: error: redefinition of ‘is_valid_maildir’
 2957 | is_valid_maildir (char **name)
      | ^~~~~~~~~~~~~~~~
maildir.c:286:1: note: previous definition of ‘is_valid_maildir’ was here
  286 | is_valid_maildir (char **name)
      | ^~~~~~~~~~~~~~~~
maildir.c:2970:9: error: conflicting types for ‘maildir_valid’
 2970 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
maildir.c:2980:6: error: conflicting types for ‘maildir_fast’
 2980 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
maildir.c: In function ‘maildir_fast’:
maildir.c:2999:46: warning: passing argument 1 of ‘stream->dtb->header’ from incompatible pointer type [-Wincompatible-pointer-types]
 2999 |           char *ht = (*stream->dtb->header) (stream,i,&hs,NIL);
      |                                              ^~~~~~
      |                                              |
      |                                              MAILSTREAM * {aka struct mail_stream *}
maildir.c:2999:46: note: expected ‘MAILSTREAM *’ {aka ‘struct mail_stream *’} but argument is of type ‘MAILSTREAM *’ {aka ‘struct mail_stream *’}
maildir.c:3004:35: warning: passing argument 1 of ‘stream->dtb->text’ from incompatible pointer type [-Wincompatible-pointer-types]
 3004 |             (*stream->dtb->text) (stream,i,&bs,FT_PEEK);
      |                                   ^~~~~~
      |                                   |
      |                                   MAILSTREAM * {aka struct mail_stream *}
maildir.c:3004:35: note: expected ‘MAILSTREAM *’ {aka ‘struct mail_stream *’} but argument is of type ‘MAILSTREAM *’ {aka ‘struct mail_stream *’}
maildir.c:3004:44: warning: passing argument 3 of ‘stream->dtb->text’ from incompatible pointer type [-Wincompatible-pointer-types]
 3004 |             (*stream->dtb->text) (stream,i,&bs,FT_PEEK);
      |                                            ^~~
      |                                            |
      |                                            STRING * {aka struct mailstring *}
maildir.c:3004:44: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
maildir.c: At top level:
maildir.c:3019:1: error: redefinition of ‘maildir_eliminate_duplicate’
 3019 | maildir_eliminate_duplicate (char *name, struct direct ***flist, unsigned long *nfiles)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:348:1: note: previous definition of ‘maildir_eliminate_duplicate’ was here
  348 | maildir_eliminate_duplicate (char *name, struct direct ***flist, unsigned long *nfiles)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:3070:1: error: redefinition of ‘maildir_doscandir’
 3070 | maildir_doscandir(char *name, struct direct ***flist, int flag)
      | ^~~~~~~~~~~~~~~~~
maildir.c:399:1: note: previous definition of ‘maildir_doscandir’ was here
  399 | maildir_doscandir(char *name, struct direct ***flist, int flag)
      | ^~~~~~~~~~~~~~~~~
maildir.c:3082:1: error: redefinition of ‘maildir_scandir’
 3082 | maildir_scandir (char *name, struct direct ***flist,
      | ^~~~~~~~~~~~~~~
maildir.c:411:1: note: previous definition of ‘maildir_scandir’ was here
  411 | maildir_scandir (char *name, struct direct ***flist,
      | ^~~~~~~~~~~~~~~
maildir.c:3112:5: error: conflicting types for ‘maildir_message_exists’
 3112 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:3142:13: error: conflicting types for ‘maildir_open’
 3142 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
maildir.c:3197:1: error: conflicting types for ‘maildir_parse_folder’
 3197 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:3295:1: error: conflicting types for ‘maildir_initial_check’
 3295 | maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype)
      | ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
maildir.c:3317:1: error: conflicting types for ‘maildir_parse_dir’
 3317 | maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
maildir.c:3451:6: error: conflicting types for ‘maildir_ping’
 3451 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
maildir.c:3465:5: error: redefinition of ‘maildir_select’
 3465 | int maildir_select (const struct direct *name)
      |     ^~~~~~~~~~~~~~
maildir.c:794:5: note: previous definition of ‘maildir_select’ was here
  794 | int maildir_select (const struct direct *name)
      |     ^~~~~~~~~~~~~~
maildir.c:3476:5: error: redefinition of ‘maildir_namesort’
 3476 | int maildir_namesort (const struct direct **d1, const struct direct **d2)
      |     ^~~~~~~~~~~~~~~~
maildir.c:805:5: note: previous definition of ‘maildir_namesort’ was here
  805 | int maildir_namesort (const struct direct **d1, const struct direct **d2)
      |     ^~~~~~~~~~~~~~~~
maildir.c:3486:6: error: conflicting types for ‘maildir_close’
 3486 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
maildir.c:3506:6: error: conflicting types for ‘maildir_check’
 3506 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
maildir.c:3511:6: error: conflicting types for ‘maildir_text’
 3511 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2684:
maildir.c: In function ‘maildir_text’:
mail.h:964:42: warning: assignment to ‘struct string_driver *’ from incompatible pointer type ‘struct string_driver *’ [-Wincompatible-pointer-types]
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                          ^
maildir.c:3532:6: note: in expansion of macro ‘INIT’
 3532 |      INIT (bs, mail_string, "", 0);
      |      ^~~~
maildir.c:3532:12: warning: passing argument 1 of ‘(bs->dtb = (struct string_driver *)&mail_string)->init’ from incompatible pointer type [-Wincompatible-pointer-types]
 3532 |      INIT (bs, mail_string, "", 0);
      |            ^~
      |            |
      |            STRING * {aka struct mailstring *}
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c:3532:12: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 3532 |      INIT (bs, mail_string, "", 0);
      |            ^~
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
mail.h:964:42: warning: assignment to ‘struct string_driver *’ from incompatible pointer type ‘struct string_driver *’ [-Wincompatible-pointer-types]
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                          ^
maildir.c:3538:3: note: in expansion of macro ‘INIT’
 3538 |   INIT (bs, mail_string, s, i);
      |   ^~~~
maildir.c:3538:9: warning: passing argument 1 of ‘(bs->dtb = (struct string_driver *)&mail_string)->init’ from incompatible pointer type [-Wincompatible-pointer-types]
 3538 |   INIT (bs, mail_string, s, i);
      |         ^~
      |         |
      |         STRING * {aka struct mailstring *}
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c:3538:9: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 3538 |   INIT (bs, mail_string, s, i);
      |         ^~
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c: At top level:
maildir.c:3542:7: error: conflicting types for ‘maildir_text_work’
 3542 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
maildir.c: In function ‘maildir_text_work’:
mail.h:964:42: warning: assignment to ‘struct string_driver *’ from incompatible pointer type ‘struct string_driver *’ [-Wincompatible-pointer-types]
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                          ^
maildir.c:3590:5: note: in expansion of macro ‘INIT’
 3590 |     INIT (&bs,fd_string,&d,elt->private.msg.text.text.size);
      |     ^~~~
maildir.c:3590:11: warning: passing argument 1 of ‘(bs.dtb = (struct string_driver *)&fd_string)->init’ from incompatible pointer type [-Wincompatible-pointer-types]
 3590 |     INIT (&bs,fd_string,&d,elt->private.msg.text.text.size);
      |           ^~~
      |           |
      |           STRING * {aka struct mailstring *}
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c:3590:11: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 3590 |     INIT (&bs,fd_string,&d,elt->private.msg.text.text.size);
      |           ^~~
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c:3593:19: warning: passing argument 1 of ‘bs.dtb->next’ from incompatible pointer type [-Wincompatible-pointer-types]
 3593 |       *s++ = SNX (&bs);         /* copy it and any succeeding LF */
      |                   ^~~
      |                   |
      |                   STRING * {aka struct mailstring *}
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:3593:19: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 3593 |       *s++ = SNX (&bs);         /* copy it and any succeeding LF */
      |                   ^~~
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:3594:58: warning: passing argument 1 of ‘bs.dtb->next’ from incompatible pointer type [-Wincompatible-pointer-types]
 3594 |       if (SIZE (&bs) && (CHR (&bs) == '\n')) *s++ = SNX (&bs);
      |                                                          ^~~
      |                                                          |
      |                                                          STRING * {aka struct mailstring *}
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:3594:58: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 3594 |       if (SIZE (&bs) && (CHR (&bs) == '\n')) *s++ = SNX (&bs);
      |                                                          ^~~
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:3599:19: warning: passing argument 1 of ‘bs.dtb->next’ from incompatible pointer type [-Wincompatible-pointer-types]
 3599 |       *s++ = SNX (&bs);         /* copy characters */
      |                   ^~~
      |                   |
      |                   STRING * {aka struct mailstring *}
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:3599:19: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 3599 |       *s++ = SNX (&bs);         /* copy characters */
      |                   ^~~
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c: At top level:
maildir.c:3609:15: error: conflicting types for ‘maildir_parse_message’
 3609 | unsigned long maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |               ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
maildir.c:3653:1: error: conflicting types for ‘maildir_update_elt_maildirp’
 3653 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:3694:7: error: conflicting types for ‘maildir_header’
 3694 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:3755:6: error: conflicting types for ‘maildir_list’
 3755 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
maildir.c:3795:6: error: conflicting types for ‘courier_list’
 3795 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
maildir.c:3804:7: error: redefinition of ‘maildir_parameters’
 3804 | void *maildir_parameters (long function, void *value)
      |       ^~~~~~~~~~~~~~~~~~
maildir.c:1133:7: note: previous definition of ‘maildir_parameters’ was here
 1133 | void *maildir_parameters (long function, void *value)
      |       ^~~~~~~~~~~~~~~~~~
maildir.c:3831:5: error: redefinition of ‘maildir_create_folder’
 3831 | int maildir_create_folder(char *mailbox)
      |     ^~~~~~~~~~~~~~~~~~~~~
maildir.c:1160:5: note: previous definition of ‘maildir_create_folder’ was here
 1160 | int maildir_create_folder(char *mailbox)
      |     ^~~~~~~~~~~~~~~~~~~~~
maildir.c:3847:5: error: redefinition of ‘maildir_create_work’
 3847 | int maildir_create_work(char *mailbox, int loop)
      |     ^~~~~~~~~~~~~~~~~~~
maildir.c:1176:5: note: previous definition of ‘maildir_create_work’ was here
 1176 | int maildir_create_work(char *mailbox, int loop)
      |     ^~~~~~~~~~~~~~~~~~~
maildir.c:3922:6: error: conflicting types for ‘maildir_create’
 3922 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
maildir.c:3943:6: error: conflicting types for ‘maildir_flagmsg’
 3943 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
maildir.c:3984:6: error: conflicting types for ‘maildir_expunge’
 3984 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
maildir.c:4032:6: error: conflicting types for ‘maildir_copy’
 4032 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:2684:
maildir.c: In function ‘maildir_copy’:
mail.h:964:42: warning: assignment to ‘struct string_driver *’ from incompatible pointer type ‘struct string_driver *’ [-Wincompatible-pointer-types]
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                          ^
maildir.c:4058:9: note: in expansion of macro ‘INIT’
 4058 |         INIT (&st,mail_string, LOCAL->buf, len);
      |         ^~~~
maildir.c:4058:15: warning: passing argument 1 of ‘(st.dtb = (struct string_driver *)&mail_string)->init’ from incompatible pointer type [-Wincompatible-pointer-types]
 4058 |         INIT (&st,mail_string, LOCAL->buf, len);
      |               ^~~
      |               |
      |               STRING * {aka struct mailstring *}
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c:4058:15: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 4058 |         INIT (&st,mail_string, LOCAL->buf, len);
      |               ^~~
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c: At top level:
maildir.c:4078:6: error: conflicting types for ‘maildir_append’
 4078 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
maildir.c: In function ‘maildir_append’:
maildir.c:4171:21: warning: passing argument 1 of ‘message->dtb->next’ from incompatible pointer type [-Wincompatible-pointer-types]
 4171 |       if ((c = SNX (message)) != '\015') s[size++] = c;
      |                     ^~~~~~~
      |                     |
      |                     STRING * {aka struct mailstring *}
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:4171:21: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 4171 |       if ((c = SNX (message)) != '\015') s[size++] = c;
      |                     ^~~~~~~
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c: At top level:
maildir.c:4201:6: error: conflicting types for ‘maildir_delete’
 4201 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
maildir.c:4315:6: error: conflicting types for ‘maildir_rename’
 4315 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
maildir.c:4376:6: error: conflicting types for ‘maildir_sub’
 4376 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
maildir.c:4381:6: error: conflicting types for ‘maildir_unsub’
 4381 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
maildir.c:4386:6: error: conflicting types for ‘maildir_lsub’
 4386 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
maildir.c:4397:6: error: redefinition of ‘maildir_canonicalize’
 4397 | long maildir_canonicalize (char *pattern,char *ref,char *pat)
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:1726:6: note: previous definition of ‘maildir_canonicalize’ was here
 1726 | long maildir_canonicalize (char *pattern,char *ref,char *pat)
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:4413:6: error: conflicting types for ‘maildir_list_work’
 4413 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
maildir.c:4482:6: error: conflicting types for ‘courier_list_work’
 4482 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
maildir.c:4548:1: error: redefinition of ‘same_maildir_file’
 4548 | same_maildir_file(char *name1, char *name2)
      | ^~~~~~~~~~~~~~~~~
maildir.c:1877:1: note: previous definition of ‘same_maildir_file’ was here
 1877 | same_maildir_file(char *name1, char *name2)
      | ^~~~~~~~~~~~~~~~~
maildir.c:4567:15: error: redefinition of ‘antoul’
 4567 | unsigned long antoul(char *seed)
      |               ^~~~~~
maildir.c:1896:15: note: previous definition of ‘antoul’ was here
 1896 | unsigned long antoul(char *seed)
      |               ^~~~~~
maildir.c:4596:15: error: redefinition of ‘mdfntoul’
 4596 | unsigned long mdfntoul (char *name)
      |               ^~~~~~~~
maildir.c:1925:15: note: previous definition of ‘mdfntoul’ was here
 1925 | unsigned long mdfntoul (char *name)
      |               ^~~~~~~~
maildir.c:4612:5: error: redefinition of ‘comp_maildir_file’
 4612 | int comp_maildir_file(char *name1, char *name2)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:1941:5: note: previous definition of ‘comp_maildir_file’ was here
 1941 | int comp_maildir_file(char *name1, char *name2)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:4655:1: error: redefinition of ‘maildir_getflag’
 4655 | maildir_getflag(char *name, int *d, int *f, int *r ,int *s, int *t)
      | ^~~~~~~~~~~~~~~
maildir.c:1984:1: note: previous definition of ‘maildir_getflag’ was here
 1984 | maildir_getflag(char *name, int *d, int *f, int *r ,int *s, int *t)
      | ^~~~~~~~~~~~~~~
maildir.c:4703:1: error: redefinition of ‘maildir_message_in_list’
 4703 | maildir_message_in_list(char *msgname, struct direct **names,
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2032:1: note: previous definition of ‘maildir_message_in_list’ was here
 2032 | maildir_message_in_list(char *msgname, struct direct **names,
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:4744:1: error: conflicting types for ‘maildir_abort’
 4744 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
maildir.c:4767:1: error: redefinition of ‘maildir_contains_folder’
 4767 | maildir_contains_folder(char *dirname, char *name)
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2096:1: note: previous definition of ‘maildir_contains_folder’ was here
 2096 | maildir_contains_folder(char *dirname, char *name)
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:4801:1: error: redefinition of ‘maildir_is_dir’
 4801 | maildir_is_dir(char *dirname, char *name)
      | ^~~~~~~~~~~~~~
maildir.c:2130:1: note: previous definition of ‘maildir_is_dir’ was here
 2130 | maildir_is_dir(char *dirname, char *name)
      | ^~~~~~~~~~~~~~
maildir.c:4818:1: error: redefinition of ‘maildir_dir_is_empty’
 4818 | maildir_dir_is_empty(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:2147:1: note: previous definition of ‘maildir_dir_is_empty’ was here
 2147 | maildir_dir_is_empty(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:4869:1: error: conflicting types for ‘maildir_get_file’
 4869 | maildir_get_file (MAILDIRFILE **mdfile)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
maildir.c:4879:1: error: redefinition of ‘maildir_free_file’
 4879 | maildir_free_file (void **mdfile)
      | ^~~~~~~~~~~~~~~~~
maildir.c:2208:1: note: previous definition of ‘maildir_free_file’ was here
 2208 | maildir_free_file (void **mdfile)
      | ^~~~~~~~~~~~~~~~~
maildir.c:4890:1: error: redefinition of ‘maildir_free_file_only’
 4890 | maildir_free_file_only (void **mdfile)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2219:1: note: previous definition of ‘maildir_free_file_only’ was here
 2219 | maildir_free_file_only (void **mdfile)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:4899:1: error: redefinition of ‘maildir_any_new_msgs’
 4899 | maildir_any_new_msgs(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:2228:1: note: previous definition of ‘maildir_any_new_msgs’ was here
 2228 | maildir_any_new_msgs(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:4923:1: error: conflicting types for ‘maildir_get_date’
 4923 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
maildir.c:4967:5: error: redefinition of ‘courier_dir_select’
 4967 | int courier_dir_select (const struct direct *name)
      |     ^~~~~~~~~~~~~~~~~~
maildir.c:2296:5: note: previous definition of ‘courier_dir_select’ was here
 2296 | int courier_dir_select (const struct direct *name)
      |     ^~~~~~~~~~~~~~~~~~
maildir.c:4973:5: error: redefinition of ‘courier_dir_sort’
 4973 | int courier_dir_sort (const struct direct **d1, const struct direct **d2)
      |     ^~~~~~~~~~~~~~~~
maildir.c:2302:5: note: previous definition of ‘courier_dir_sort’ was here
 2302 | int courier_dir_sort (const struct direct **d1, const struct direct **d2)
      |     ^~~~~~~~~~~~~~~~
maildir.c:4981:6: error: conflicting types for ‘courier_free_cdir’
 4981 | void courier_free_cdir (COURIER_S **cdir)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:4995:12: error: conflicting types for ‘courier_get_cdir’
 4995 | COURIER_S *courier_get_cdir (int total)
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
maildir.c:5007:5: error: conflicting types for ‘courier_search_list’
 5007 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last)
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
maildir.c:5024:12: error: conflicting types for ‘courier_list_dir’
 5024 | COURIER_S *courier_list_dir(char *curdir)
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
maildir.c:5074:1: error: conflicting types for ‘courier_list_info’
 5074 | courier_list_info(COURIER_S **cdirp, char *data, int i)
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:5101:1: error: conflicting types for ‘maildir_can_assign_uid’
 5101 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:5184:1: error: conflicting types for ‘maildir_read_uid’
 5184 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
maildir.c:5241:1: error: conflicting types for ‘maildir_write_uid’
 5241 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
maildir.c:5257:1: error: redefinition of ‘maildir_get_uid’
 5257 | maildir_get_uid(char *name)
      | ^~~~~~~~~~~~~~~
maildir.c:2586:1: note: previous definition of ‘maildir_get_uid’ was here
 2586 | maildir_get_uid(char *name)
      | ^~~~~~~~~~~~~~~
maildir.c:5272:1: error: conflicting types for ‘maildir_delete_uid’
 5272 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:5298:1: error: conflicting types for ‘maildir_assign_uid’
 5298 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:5326:1: error: conflicting types for ‘maildir_uid_renew_tempfile’
 5326 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:674:26: error: redefinition of ‘struct mail_sizedtext’
  674 | #define SIZEDTEXT struct mail_sizedtext
      |                          ^~~~~~~~~~~~~~
mail.h:676:1: note: in expansion of macro ‘SIZEDTEXT’
  676 | SIZEDTEXT {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:674:26: note: originally defined here
  674 | #define SIZEDTEXT struct mail_sizedtext
      |                          ^~~~~~~~~~~~~~
mail.h:676:1: note: in expansion of macro ‘SIZEDTEXT’
  676 | SIZEDTEXT {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:684:27: error: redefinition of ‘struct string_list’
  684 | #define STRINGLIST struct string_list
      |                           ^~~~~~~~~~~
mail.h:686:1: note: in expansion of macro ‘STRINGLIST’
  686 | STRINGLIST {
      | ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:684:27: note: originally defined here
  684 | #define STRINGLIST struct string_list
      |                           ^~~~~~~~~~~
mail.h:686:1: note: in expansion of macro ‘STRINGLIST’
  686 | STRINGLIST {
      | ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:699:16: error: redefinition of ‘struct net_mailbox’
  699 | typedef struct net_mailbox {
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:699:16: note: originally defined here
  699 | typedef struct net_mailbox {
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:724:3: error: conflicting types for ‘NETMBX’
  724 | } NETMBX;
      |   ^~~~~~
In file included from maildir.c:2684:
mail.h:724:3: note: previous declaration of ‘NETMBX’ was here
  724 | } NETMBX;
      |   ^~~~~~
In file included from maildir.c:5355:
mail.h:736:24: error: redefinition of ‘struct mail_address’
  736 | #define ADDRESS struct mail_address
      |                        ^~~~~~~~~~~~
mail.h:738:1: note: in expansion of macro ‘ADDRESS’
  738 | ADDRESS {
      | ^~~~~~~
In file included from maildir.c:2684:
mail.h:736:24: note: originally defined here
  736 | #define ADDRESS struct mail_address
      |                        ^~~~~~~~~~~~
mail.h:738:1: note: in expansion of macro ‘ADDRESS’
  738 | ADDRESS {
      | ^~~~~~~
In file included from maildir.c:5355:
mail.h:754:16: error: redefinition of ‘struct mail_envelope’
  754 | typedef struct mail_envelope {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:754:16: note: originally defined here
  754 | typedef struct mail_envelope {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:774:3: error: conflicting types for ‘ENVELOPE’
  774 | } ENVELOPE;
      |   ^~~~~~~~
In file included from maildir.c:2684:
mail.h:774:3: note: previous declaration of ‘ENVELOPE’ was here
  774 | } ENVELOPE;
      |   ^~~~~~~~
In file included from maildir.c:5355:
mail.h:811:25: error: redefinition of ‘struct mail_body_text’
  811 | #define PARTTEXT struct mail_body_text
      |                         ^~~~~~~~~~~~~~
mail.h:815:1: note: in expansion of macro ‘PARTTEXT’
  815 | PARTTEXT {
      | ^~~~~~~~
In file included from maildir.c:2684:
mail.h:811:25: note: originally defined here
  811 | #define PARTTEXT struct mail_body_text
      |                         ^~~~~~~~~~~~~~
mail.h:815:1: note: in expansion of macro ‘PARTTEXT’
  815 | PARTTEXT {
      | ^~~~~~~~
In file included from maildir.c:5355:
mail.h:807:21: error: redefinition of ‘struct mail_bodystruct’
  807 | #define BODY struct mail_bodystruct
      |                     ^~~~~~~~~~~~~~~
mail.h:823:1: note: in expansion of macro ‘BODY’
  823 | BODY {
      | ^~~~
In file included from maildir.c:2684:
mail.h:807:21: note: originally defined here
  807 | #define BODY struct mail_bodystruct
      |                     ^~~~~~~~~~~~~~~
mail.h:823:1: note: in expansion of macro ‘BODY’
  823 | BODY {
      | ^~~~
In file included from maildir.c:5355:
mail.h:809:26: error: redefinition of ‘struct mail_body_parameter’
  809 | #define PARAMETER struct mail_body_parameter
      |                          ^~~~~~~~~~~~~~~~~~~
mail.h:853:1: note: in expansion of macro ‘PARAMETER’
  853 | PARAMETER {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:809:26: note: originally defined here
  809 | #define PARAMETER struct mail_body_parameter
      |                          ^~~~~~~~~~~~~~~~~~~
mail.h:853:1: note: in expansion of macro ‘PARAMETER’
  853 | PARAMETER {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:810:21: error: redefinition of ‘struct mail_body_part’
  810 | #define PART struct mail_body_part
      |                     ^~~~~~~~~~~~~~
mail.h:862:1: note: in expansion of macro ‘PART’
  862 | PART {
      | ^~~~
In file included from maildir.c:2684:
mail.h:810:21: note: originally defined here
  810 | #define PART struct mail_body_part
      |                     ^~~~~~~~~~~~~~
mail.h:862:1: note: in expansion of macro ‘PART’
  862 | PART {
      | ^~~~
In file included from maildir.c:5355:
mail.h:808:24: error: redefinition of ‘struct mail_body_message’
  808 | #define MESSAGE struct mail_body_message
      |                        ^~~~~~~~~~~~~~~~~
mail.h:870:1: note: in expansion of macro ‘MESSAGE’
  870 | MESSAGE {
      | ^~~~~~~
In file included from maildir.c:2684:
mail.h:808:24: note: originally defined here
  808 | #define MESSAGE struct mail_body_message
      |                        ^~~~~~~~~~~~~~~~~
mail.h:870:1: note: in expansion of macro ‘MESSAGE’
  870 | MESSAGE {
      | ^~~~~~~
In file included from maildir.c:5355:
mail.h:881:16: error: redefinition of ‘struct message_cache’
  881 | typedef struct message_cache {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:881:16: note: originally defined here
  881 | typedef struct message_cache {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:931:3: error: conflicting types for ‘MESSAGECACHE’
  931 | } MESSAGECACHE;
      |   ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:931:3: note: previous declaration of ‘MESSAGECACHE’ was here
  931 | } MESSAGECACHE;
      |   ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:937:16: error: redefinition of ‘struct mailstring’
  937 | typedef struct mailstring {
      |                ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:937:16: note: originally defined here
  937 | typedef struct mailstring {
      |                ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:947:3: error: conflicting types for ‘STRING’
  947 | } STRING;
      |   ^~~~~~
In file included from maildir.c:2684:
mail.h:947:3: note: previous declaration of ‘STRING’ was here
  947 | } STRING;
      |   ^~~~~~
In file included from maildir.c:5355:
mail.h:935:29: error: redefinition of ‘struct string_driver’
  935 | #define STRINGDRIVER struct string_driver
      |                             ^~~~~~~~~~~~~
mail.h:952:1: note: in expansion of macro ‘STRINGDRIVER’
  952 | STRINGDRIVER {
      | ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:935:29: note: originally defined here
  935 | #define STRINGDRIVER struct string_driver
      |                             ^~~~~~~~~~~~~
mail.h:952:1: note: in expansion of macro ‘STRINGDRIVER’
  952 | STRINGDRIVER {
      | ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:974:29: error: redefinition of ‘struct search_header’
  974 | #define SEARCHHEADER struct search_header
      |                             ^~~~~~~~~~~~~
mail.h:980:1: note: in expansion of macro ‘SEARCHHEADER’
  980 | SEARCHHEADER {   /* header search */
      | ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:974:29: note: originally defined here
  974 | #define SEARCHHEADER struct search_header
      |                             ^~~~~~~~~~~~~
mail.h:980:1: note: in expansion of macro ‘SEARCHHEADER’
  980 | SEARCHHEADER {   /* header search */
      | ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:975:26: error: redefinition of ‘struct search_set’
  975 | #define SEARCHSET struct search_set
      |                          ^~~~~~~~~~
mail.h:987:1: note: in expansion of macro ‘SEARCHSET’
  987 | SEARCHSET {   /* message set */
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:975:26: note: originally defined here
  975 | #define SEARCHSET struct search_set
      |                          ^~~~~~~~~~
mail.h:987:1: note: in expansion of macro ‘SEARCHSET’
  987 | SEARCHSET {   /* message set */
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:976:25: error: redefinition of ‘struct search_or’
  976 | #define SEARCHOR struct search_or
      |                         ^~~~~~~~~
mail.h:994:1: note: in expansion of macro ‘SEARCHOR’
  994 | SEARCHOR {
      | ^~~~~~~~
In file included from maildir.c:2684:
mail.h:976:25: note: originally defined here
  976 | #define SEARCHOR struct search_or
      |                         ^~~~~~~~~
mail.h:994:1: note: in expansion of macro ‘SEARCHOR’
  994 | SEARCHOR {
      | ^~~~~~~~
In file included from maildir.c:5355:
mail.h:977:30: error: redefinition of ‘struct search_pgm_list’
  977 | #define SEARCHPGMLIST struct search_pgm_list
      |                              ^~~~~~~~~~~~~~~
mail.h:1001:1: note: in expansion of macro ‘SEARCHPGMLIST’
 1001 | SEARCHPGMLIST {
      | ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:977:30: note: originally defined here
  977 | #define SEARCHPGMLIST struct search_pgm_list
      |                              ^~~~~~~~~~~~~~~
mail.h:1001:1: note: in expansion of macro ‘SEARCHPGMLIST’
 1001 | SEARCHPGMLIST {
      | ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:973:26: error: redefinition of ‘struct search_program’
  973 | #define SEARCHPGM struct search_program
      |                          ^~~~~~~~~~~~~~
mail.h:1006:1: note: in expansion of macro ‘SEARCHPGM’
 1006 | SEARCHPGM {   /* search program */
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:973:26: note: originally defined here
  973 | #define SEARCHPGM struct search_program
      |                          ^~~~~~~~~~~~~~
mail.h:1006:1: note: in expansion of macro ‘SEARCHPGM’
 1006 | SEARCHPGM {   /* search program */
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1058:16: error: redefinition of ‘struct mbx_status’
 1058 | typedef struct mbx_status {
      |                ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1058:16: note: originally defined here
 1058 | typedef struct mbx_status {
      |                ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1065:3: error: conflicting types for ‘MAILSTATUS’
 1065 | } MAILSTATUS;
      |   ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1065:3: note: previous declaration of ‘MAILSTATUS’ was here
 1065 | } MAILSTATUS;
      |   ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1071:24: error: redefinition of ‘struct sort_program’
 1071 | #define SORTPGM struct sort_program
      |                        ^~~~~~~~~~~~
mail.h:1073:1: note: in expansion of macro ‘SORTPGM’
 1073 | SORTPGM {
      | ^~~~~~~
In file included from maildir.c:2684:
mail.h:1071:24: note: originally defined here
 1071 | #define SORTPGM struct sort_program
      |                        ^~~~~~~~~~~~
mail.h:1073:1: note: in expansion of macro ‘SORTPGM’
 1073 | SORTPGM {
      | ^~~~~~~
In file included from maildir.c:5355:
mail.h:1090:26: error: redefinition of ‘struct sort_cache’
 1090 | #define SORTCACHE struct sort_cache
      |                          ^~~~~~~~~~
mail.h:1092:1: note: in expansion of macro ‘SORTCACHE’
 1092 | SORTCACHE {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1090:26: note: originally defined here
 1090 | #define SORTCACHE struct sort_cache
      |                          ^~~~~~~~~~
mail.h:1092:1: note: in expansion of macro ‘SORTCACHE’
 1092 | SORTCACHE {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1113:24: error: redefinition of ‘struct acl_list’
 1113 | #define ACLLIST struct acl_list
      |                        ^~~~~~~~
mail.h:1115:1: note: in expansion of macro ‘ACLLIST’
 1115 | ACLLIST {
      | ^~~~~~~
In file included from maildir.c:2684:
mail.h:1113:24: note: originally defined here
 1113 | #define ACLLIST struct acl_list
      |                        ^~~~~~~~
mail.h:1115:1: note: in expansion of macro ‘ACLLIST’
 1115 | ACLLIST {
      | ^~~~~~~
In file included from maildir.c:5355:
mail.h:1123:26: error: redefinition of ‘struct quota_list’
 1123 | #define QUOTALIST struct quota_list
      |                          ^~~~~~~~~~
mail.h:1125:1: note: in expansion of macro ‘QUOTALIST’
 1125 | QUOTALIST {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1123:26: note: originally defined here
 1123 | #define QUOTALIST struct quota_list
      |                          ^~~~~~~~~~
mail.h:1125:1: note: in expansion of macro ‘QUOTALIST’
 1125 | QUOTALIST {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1134:23: error: redefinition of ‘struct id_list’
 1134 | #define IDLIST struct id_list
      |                       ^~~~~~~
mail.h:1136:1: note: in expansion of macro ‘IDLIST’
 1136 | IDLIST {
      | ^~~~~~
In file included from maildir.c:2684:
mail.h:1134:23: note: originally defined here
 1134 | #define IDLIST struct id_list
      |                       ^~~~~~~
mail.h:1136:1: note: in expansion of macro ‘IDLIST’
 1136 | IDLIST {
      | ^~~~~~
In file included from maildir.c:5355:
mail.h:1152:16: error: redefinition of ‘struct mail_stream’
 1152 | typedef struct mail_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1152:16: note: originally defined here
 1152 | typedef struct mail_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1217:3: error: conflicting types for ‘MAILSTREAM’
 1217 | } MAILSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1217:3: note: previous declaration of ‘MAILSTREAM’ was here
 1217 | } MAILSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1221:16: error: redefinition of ‘struct mail_stream_handle’
 1221 | typedef struct mail_stream_handle {
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1221:16: note: originally defined here
 1221 | typedef struct mail_stream_handle {
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1224:3: error: conflicting types for ‘MAILHANDLE’
 1224 | } MAILHANDLE;
      |   ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1224:3: note: previous declaration of ‘MAILHANDLE’ was here
 1224 | } MAILHANDLE;
      |   ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1229:16: error: redefinition of ‘struct mail_overview’
 1229 | typedef struct mail_overview {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1229:16: note: originally defined here
 1229 | typedef struct mail_overview {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1240:3: error: conflicting types for ‘OVERVIEW’
 1240 | } OVERVIEW;
      |   ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1240:3: note: previous declaration of ‘OVERVIEW’ was here
 1240 | } OVERVIEW;
      |   ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1252:16: error: redefinition of ‘struct net_stream’
 1252 | typedef struct net_stream {
      |                ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1252:16: note: originally defined here
 1252 | typedef struct net_stream {
      |                ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1255:3: error: conflicting types for ‘NETSTREAM’
 1255 | } NETSTREAM;
      |   ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1255:3: note: previous declaration of ‘NETSTREAM’ was here
 1255 | } NETSTREAM;
      |   ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1247:26: error: redefinition of ‘struct net_driver’
 1247 | #define NETDRIVER struct net_driver
      |                          ^~~~~~~~~~
mail.h:1260:1: note: in expansion of macro ‘NETDRIVER’
 1260 | NETDRIVER {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1247:26: note: originally defined here
 1247 | #define NETDRIVER struct net_driver
      |                          ^~~~~~~~~~
mail.h:1260:1: note: in expansion of macro ‘NETDRIVER’
 1260 | NETDRIVER {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1278:16: error: redefinition of ‘struct getsdata’
 1278 | typedef struct getsdata {
      |                ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1278:16: note: originally defined here
 1278 | typedef struct getsdata {
      |                ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1286:3: error: conflicting types for ‘GETS_DATA’
 1286 | } GETS_DATA;
      |   ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1286:3: note: previous declaration of ‘GETS_DATA’ was here
 1286 | } GETS_DATA;
      |   ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1295:16: error: redefinition of ‘struct send_stream’
 1295 | typedef struct send_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1295:16: note: originally defined here
 1295 | typedef struct send_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1375:3: error: conflicting types for ‘SENDSTREAM’
 1375 | } SENDSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1375:3: note: previous declaration of ‘SENDSTREAM’ was here
 1375 | } SENDSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1380:17: error: conflicting types for ‘mailgets_t’
 1380 | typedef char *(*mailgets_t) (readfn_t f,void *stream,unsigned long size,
      |                 ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1380:17: note: previous declaration of ‘mailgets_t’ was here
 1380 | typedef char *(*mailgets_t) (readfn_t f,void *stream,unsigned long size,
      |                 ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1382:17: error: conflicting types for ‘readprogress_t’
 1382 | typedef char *(*readprogress_t) (GETS_DATA *md,unsigned long octets);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1382:17: note: previous declaration of ‘readprogress_t’ was here
 1382 | typedef char *(*readprogress_t) (GETS_DATA *md,unsigned long octets);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1383:17: error: conflicting types for ‘mailcache_t’
 1383 | typedef void *(*mailcache_t) (MAILSTREAM *stream,unsigned long msgno,long op);
      |                 ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1383:17: note: previous declaration of ‘mailcache_t’ was here
 1383 | typedef void *(*mailcache_t) (MAILSTREAM *stream,unsigned long msgno,long op);
      |                 ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1384:16: error: conflicting types for ‘mailproxycopy_t’
 1384 | typedef long (*mailproxycopy_t) (MAILSTREAM *stream,char *sequence,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1384:16: note: previous declaration of ‘mailproxycopy_t’ was here
 1384 | typedef long (*mailproxycopy_t) (MAILSTREAM *stream,char *sequence,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1391:16: error: conflicting types for ‘authclient_t’
 1391 | typedef long (*authclient_t) (authchallenge_t challenger,
      |                ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1391:16: note: previous declaration of ‘authclient_t’ was here
 1391 | typedef long (*authclient_t) (authchallenge_t challenger,
      |                ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1398:16: error: conflicting types for ‘imapenvelope_t’
 1398 | typedef void (*imapenvelope_t) (MAILSTREAM *stream,unsigned long msgno,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1398:16: note: previous declaration of ‘imapenvelope_t’ was here
 1398 | typedef void (*imapenvelope_t) (MAILSTREAM *stream,unsigned long msgno,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1400:17: error: conflicting types for ‘imapreferral_t’
 1400 | typedef char *(*imapreferral_t) (MAILSTREAM *stream,char *url,long code);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1400:17: note: previous declaration of ‘imapreferral_t’ was here
 1400 | typedef char *(*imapreferral_t) (MAILSTREAM *stream,char *url,long code);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1401:16: error: conflicting types for ‘overview_t’
 1401 | typedef void (*overview_t) (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |                ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1401:16: note: previous declaration of ‘overview_t’ was here
 1401 | typedef void (*overview_t) (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |                ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1403:26: error: conflicting types for ‘sorter_t’
 1403 | typedef unsigned long *(*sorter_t) (MAILSTREAM *stream,char *charset,
      |                          ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1403:26: note: previous declaration of ‘sorter_t’ was here
 1403 | typedef unsigned long *(*sorter_t) (MAILSTREAM *stream,char *charset,
      |                          ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1405:16: error: conflicting types for ‘parseline_t’
 1405 | typedef void (*parseline_t) (ENVELOPE *env,char *hdr,char *data,char *host);
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1405:16: note: previous declaration of ‘parseline_t’ was here
 1405 | typedef void (*parseline_t) (ENVELOPE *env,char *hdr,char *data,char *host);
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1406:20: error: conflicting types for ‘parsephrase_t’
 1406 | typedef ADDRESS *(*parsephrase_t) (char *phrase,char *end,char *host);
      |                    ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1406:20: note: previous declaration of ‘parsephrase_t’ was here
 1406 | typedef ADDRESS *(*parsephrase_t) (char *phrase,char *end,char *host);
      |                    ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1409:16: error: conflicting types for ‘sendcommand_t’
 1409 | typedef void (*sendcommand_t) (MAILSTREAM *stream,char *cmd,long flags);
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1409:16: note: previous declaration of ‘sendcommand_t’ was here
 1409 | typedef void (*sendcommand_t) (MAILSTREAM *stream,char *cmd,long flags);
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1410:17: error: conflicting types for ‘newsrcquery_t’
 1410 | typedef char *(*newsrcquery_t) (MAILSTREAM *stream,char *mulname,char *name);
      |                 ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1410:17: note: previous declaration of ‘newsrcquery_t’ was here
 1410 | typedef char *(*newsrcquery_t) (MAILSTREAM *stream,char *mulname,char *name);
      |                 ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1411:16: error: conflicting types for ‘getacl_t’
 1411 | typedef void (*getacl_t) (MAILSTREAM *stream,char *mailbox,ACLLIST *acl);
      |                ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1411:16: note: previous declaration of ‘getacl_t’ was here
 1411 | typedef void (*getacl_t) (MAILSTREAM *stream,char *mailbox,ACLLIST *acl);
      |                ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1412:16: error: conflicting types for ‘listrights_t’
 1412 | typedef void (*listrights_t) (MAILSTREAM *stream,char *mailbox,char *id,
      |                ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1412:16: note: previous declaration of ‘listrights_t’ was here
 1412 | typedef void (*listrights_t) (MAILSTREAM *stream,char *mailbox,char *id,
      |                ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1414:16: error: conflicting types for ‘myrights_t’
 1414 | typedef void (*myrights_t) (MAILSTREAM *stream,char *mailbox,char *rights);
      |                ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1414:16: note: previous declaration of ‘myrights_t’ was here
 1414 | typedef void (*myrights_t) (MAILSTREAM *stream,char *mailbox,char *rights);
      |                ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1415:16: error: conflicting types for ‘quota_t’
 1415 | typedef void (*quota_t) (MAILSTREAM *stream,char *qroot,QUOTALIST *qlist);
      |                ^~~~~~~
In file included from maildir.c:2684:
mail.h:1415:16: note: previous declaration of ‘quota_t’ was here
 1415 | typedef void (*quota_t) (MAILSTREAM *stream,char *qroot,QUOTALIST *qlist);
      |                ^~~~~~~
In file included from maildir.c:5355:
mail.h:1416:16: error: conflicting types for ‘quotaroot_t’
 1416 | typedef void (*quotaroot_t) (MAILSTREAM *stream,char *mbx,STRINGLIST *qroot);
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1416:16: note: previous declaration of ‘quotaroot_t’ was here
 1416 | typedef void (*quotaroot_t) (MAILSTREAM *stream,char *mbx,STRINGLIST *qroot);
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1417:16: error: conflicting types for ‘sortresults_t’
 1417 | typedef void (*sortresults_t) (MAILSTREAM *stream,unsigned long *list,
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1417:16: note: previous declaration of ‘sortresults_t’ was here
 1417 | typedef void (*sortresults_t) (MAILSTREAM *stream,unsigned long *list,
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1420:16: error: conflicting types for ‘append_t’
 1420 | typedef long (*append_t) (MAILSTREAM *stream,void *data,char **flags,
      |                ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1420:16: note: previous declaration of ‘append_t’ was here
 1420 | typedef long (*append_t) (MAILSTREAM *stream,void *data,char **flags,
      |                ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1422:16: error: conflicting types for ‘copyuid_t’
 1422 | typedef void (*copyuid_t) (MAILSTREAM *stream,char *mailbox,
      |                ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1422:16: note: previous declaration of ‘copyuid_t’ was here
 1422 | typedef void (*copyuid_t) (MAILSTREAM *stream,char *mailbox,
      |                ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1425:16: error: conflicting types for ‘appenduid_t’
 1425 | typedef void (*appenduid_t) (char *mailbox,unsigned long uidvalidity,
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1425:16: note: previous declaration of ‘appenduid_t’ was here
 1425 | typedef void (*appenduid_t) (char *mailbox,unsigned long uidvalidity,
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1453:27: error: redefinition of ‘struct thread_node’
 1453 | #define THREADNODE struct thread_node
      |                           ^~~~~~~~~~~
mail.h:1455:1: note: in expansion of macro ‘THREADNODE’
 1455 | THREADNODE {
      | ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1453:27: note: originally defined here
 1453 | #define THREADNODE struct thread_node
      |                           ^~~~~~~~~~~
mail.h:1455:1: note: in expansion of macro ‘THREADNODE’
 1455 | THREADNODE {
      | ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1462:16: error: conflicting types for ‘threadresults_t’
 1462 | typedef void (*threadresults_t) (MAILSTREAM *stream,THREADNODE *tree);
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1462:16: note: previous declaration of ‘threadresults_t’ was here
 1462 | typedef void (*threadresults_t) (MAILSTREAM *stream,THREADNODE *tree);
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1467:25: error: redefinition of ‘struct threader_list’
 1467 | #define THREADER struct threader_list
      |                         ^~~~~~~~~~~~~
mail.h:1469:1: note: in expansion of macro ‘THREADER’
 1469 | THREADER {
      | ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1467:25: note: originally defined here
 1467 | #define THREADER struct threader_list
      |                         ^~~~~~~~~~~~~
mail.h:1469:1: note: in expansion of macro ‘THREADER’
 1469 | THREADER {
      | ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1483:26: error: redefinition of ‘struct mail_namespace’
 1483 | #define NAMESPACE struct mail_namespace
      |                          ^~~~~~~~~~~~~~
mail.h:1485:1: note: in expansion of macro ‘NAMESPACE’
 1485 | NAMESPACE {
      | ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1483:26: note: originally defined here
 1483 | #define NAMESPACE struct mail_namespace
      |                          ^~~~~~~~~~~~~~
mail.h:1485:1: note: in expansion of macro ‘NAMESPACE’
 1485 | NAMESPACE {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1495:30: error: redefinition of ‘struct mail_authenticator’
 1495 | #define AUTHENTICATOR struct mail_authenticator
      |                              ^~~~~~~~~~~~~~~~~~
mail.h:1497:1: note: in expansion of macro ‘AUTHENTICATOR’
 1497 | AUTHENTICATOR {
      | ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1495:30: note: originally defined here
 1495 | #define AUTHENTICATOR struct mail_authenticator
      |                              ^~~~~~~~~~~~~~~~~~
mail.h:1497:1: note: in expansion of macro ‘AUTHENTICATOR’
 1497 | AUTHENTICATOR {
      | ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1147:23: error: redefinition of ‘struct driver’
 1147 | #define DRIVER struct driver
      |                       ^~~~~~
mail.h:1508:1: note: in expansion of macro ‘DRIVER’
 1508 | DRIVER {
      | ^~~~~~
In file included from maildir.c:2684:
mail.h:1147:23: note: originally defined here
 1147 | #define DRIVER struct driver
      |                       ^~~~~~
mail.h:1508:1: note: in expansion of macro ‘DRIVER’
 1508 | DRIVER {
      | ^~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:1:15: error: conflicting types for ‘mboxdriver’
    1 | extern DRIVER mboxdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:1:15: note: previous declaration of ‘mboxdriver’ was here
    1 | extern DRIVER mboxdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:2:15: error: conflicting types for ‘maildirdriver’
    2 | extern DRIVER maildirdriver;
      |               ^~~~~~~~~~~~~
maildir.c:25:8: note: previous definition of ‘maildirdriver’ was here
   25 | DRIVER maildirdriver = {
      |        ^~~~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:3:15: error: conflicting types for ‘courierdriver’
    3 | extern DRIVER courierdriver;
      |               ^~~~~~~~~~~~~
maildir.c:65:8: note: previous definition of ‘courierdriver’ was here
   65 | DRIVER courierdriver = {
      |        ^~~~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:4:15: error: conflicting types for ‘imapdriver’
    4 | extern DRIVER imapdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:4:15: note: previous declaration of ‘imapdriver’ was here
    4 | extern DRIVER imapdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:5:15: error: conflicting types for ‘nntpdriver’
    5 | extern DRIVER nntpdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:5:15: note: previous declaration of ‘nntpdriver’ was here
    5 | extern DRIVER nntpdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:6:15: error: conflicting types for ‘pop3driver’
    6 | extern DRIVER pop3driver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:6:15: note: previous declaration of ‘pop3driver’ was here
    6 | extern DRIVER pop3driver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:7:15: error: conflicting types for ‘mixdriver’
    7 | extern DRIVER mixdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:7:15: note: previous declaration of ‘mixdriver’ was here
    7 | extern DRIVER mixdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:8:15: error: conflicting types for ‘mxdriver’
    8 | extern DRIVER mxdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:8:15: note: previous declaration of ‘mxdriver’ was here
    8 | extern DRIVER mxdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:9:15: error: conflicting types for ‘mbxdriver’
    9 | extern DRIVER mbxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:9:15: note: previous declaration of ‘mbxdriver’ was here
    9 | extern DRIVER mbxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:10:15: error: conflicting types for ‘tenexdriver’
   10 | extern DRIVER tenexdriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:10:15: note: previous declaration of ‘tenexdriver’ was here
   10 | extern DRIVER tenexdriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:11:15: error: conflicting types for ‘mtxdriver’
   11 | extern DRIVER mtxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:11:15: note: previous declaration of ‘mtxdriver’ was here
   11 | extern DRIVER mtxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:12:15: error: conflicting types for ‘mhdriver’
   12 | extern DRIVER mhdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:12:15: note: previous declaration of ‘mhdriver’ was here
   12 | extern DRIVER mhdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:13:15: error: conflicting types for ‘mmdfdriver’
   13 | extern DRIVER mmdfdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:13:15: note: previous declaration of ‘mmdfdriver’ was here
   13 | extern DRIVER mmdfdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:14:15: error: conflicting types for ‘unixdriver’
   14 | extern DRIVER unixdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:14:15: note: previous declaration of ‘unixdriver’ was here
   14 | extern DRIVER unixdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:15:15: error: conflicting types for ‘newsdriver’
   15 | extern DRIVER newsdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:15:15: note: previous declaration of ‘newsdriver’ was here
   15 | extern DRIVER newsdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:16:15: error: conflicting types for ‘philedriver’
   16 | extern DRIVER philedriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:16:15: note: previous declaration of ‘philedriver’ was here
   16 | extern DRIVER philedriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:17:15: error: conflicting types for ‘dummydriver’
   17 | extern DRIVER dummydriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:17:15: note: previous declaration of ‘dummydriver’ was here
   17 | extern DRIVER dummydriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:18:22: error: conflicting types for ‘auth_gss’
   18 | extern AUTHENTICATOR auth_gss;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:18:22: note: previous declaration of ‘auth_gss’ was here
   18 | extern AUTHENTICATOR auth_gss;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:19:22: error: conflicting types for ‘auth_ext’
   19 | extern AUTHENTICATOR auth_ext;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:19:22: note: previous declaration of ‘auth_ext’ was here
   19 | extern AUTHENTICATOR auth_ext;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:20:22: error: conflicting types for ‘auth_md5’
   20 | extern AUTHENTICATOR auth_md5;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:20:22: note: previous declaration of ‘auth_md5’ was here
   20 | extern AUTHENTICATOR auth_md5;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:21:22: error: conflicting types for ‘auth_pla’
   21 | extern AUTHENTICATOR auth_pla;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:21:22: note: previous declaration of ‘auth_pla’ was here
   21 | extern AUTHENTICATOR auth_pla;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:22:22: error: conflicting types for ‘auth_log’
   22 | extern AUTHENTICATOR auth_log;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:22:22: note: previous declaration of ‘auth_log’ was here
   22 | extern AUTHENTICATOR auth_log;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:23:22: error: conflicting types for ‘auth_bea’
   23 | extern AUTHENTICATOR auth_bea;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:23:22: note: previous declaration of ‘auth_bea’ was here
   23 | extern AUTHENTICATOR auth_bea;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:5355:
linkage.h:24:22: error: conflicting types for ‘auth_oa2’
   24 | extern AUTHENTICATOR auth_oa2;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:24:22: note: previous declaration of ‘auth_oa2’ was here
   24 | extern AUTHENTICATOR auth_oa2;
      |                      ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1672:6: error: conflicting types for ‘mm_searched’
 1672 | void mm_searched (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1672:6: note: previous declaration of ‘mm_searched’ was here
 1672 | void mm_searched (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1673:6: error: conflicting types for ‘mm_exists’
 1673 | void mm_exists (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1673:6: note: previous declaration of ‘mm_exists’ was here
 1673 | void mm_exists (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1674:6: error: conflicting types for ‘mm_expunged’
 1674 | void mm_expunged (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1674:6: note: previous declaration of ‘mm_expunged’ was here
 1674 | void mm_expunged (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1675:6: error: conflicting types for ‘mm_flags’
 1675 | void mm_flags (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~
In file included from maildir.c:13:
mail.h:1675:6: note: previous declaration of ‘mm_flags’ was here
 1675 | void mm_flags (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1676:6: error: conflicting types for ‘mm_notify’
 1676 | void mm_notify (MAILSTREAM *stream,char *string,long errflg);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1676:6: note: previous declaration of ‘mm_notify’ was here
 1676 | void mm_notify (MAILSTREAM *stream,char *string,long errflg);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1677:6: error: conflicting types for ‘mm_list’
 1677 | void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:13:
mail.h:1677:6: note: previous declaration of ‘mm_list’ was here
 1677 | void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:5355:
mail.h:1678:6: error: conflicting types for ‘mm_lsub’
 1678 | void mm_lsub (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:13:
mail.h:1678:6: note: previous declaration of ‘mm_lsub’ was here
 1678 | void mm_lsub (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:5355:
mail.h:1679:6: error: conflicting types for ‘mm_status’
 1679 | void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1679:6: note: previous declaration of ‘mm_status’ was here
 1679 | void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1682:6: error: conflicting types for ‘mm_login’
 1682 | void mm_login (NETMBX *mb,char *user,char **pwd,long trial);
      |      ^~~~~~~~
In file included from maildir.c:13:
mail.h:1682:6: note: previous declaration of ‘mm_login’ was here
 1682 | void mm_login (NETMBX *mb,char *user,char **pwd,long trial);
      |      ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1683:6: error: conflicting types for ‘mm_login_method’
 1683 | void mm_login_method (NETMBX *mb,char *user, void *info,long trial, char *method);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1683:6: note: previous declaration of ‘mm_login_method’ was here
 1683 | void mm_login_method (NETMBX *mb,char *user, void *info,long trial, char *method);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1684:6: error: conflicting types for ‘mm_critical’
 1684 | void mm_critical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1684:6: note: previous declaration of ‘mm_critical’ was here
 1684 | void mm_critical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1685:6: error: conflicting types for ‘mm_nocritical’
 1685 | void mm_nocritical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1685:6: note: previous declaration of ‘mm_nocritical’ was here
 1685 | void mm_nocritical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1686:6: error: conflicting types for ‘mm_diskerror’
 1686 | long mm_diskerror (MAILSTREAM *stream,long errcode,long serious);
      |      ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1686:6: note: previous declaration of ‘mm_diskerror’ was here
 1686 | long mm_diskerror (MAILSTREAM *stream,long errcode,long serious);
      |      ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1688:7: error: conflicting types for ‘mm_cache’
 1688 | void *mm_cache (MAILSTREAM *stream,unsigned long msgno,long op);
      |       ^~~~~~~~
In file included from maildir.c:13:
mail.h:1688:7: note: previous declaration of ‘mm_cache’ was here
 1688 | void *mm_cache (MAILSTREAM *stream,unsigned long msgno,long op);
      |       ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1690:21: error: conflicting types for ‘mail_string’
 1690 | extern STRINGDRIVER mail_string;
      |                     ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1690:21: note: previous declaration of ‘mail_string’ was here
 1690 | extern STRINGDRIVER mail_string;
      |                     ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1692:6: error: conflicting types for ‘mail_link’
 1692 | void mail_link (DRIVER *driver);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1692:6: note: previous declaration of ‘mail_link’ was here
 1692 | void mail_link (DRIVER *driver);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1693:7: error: conflicting types for ‘mail_parameters’
 1693 | void *mail_parameters (MAILSTREAM *stream,long function,void *value);
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1693:7: note: previous declaration of ‘mail_parameters’ was here
 1693 | void *mail_parameters (MAILSTREAM *stream,long function,void *value);
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1694:9: error: conflicting types for ‘mail_valid’
 1694 | DRIVER *mail_valid (MAILSTREAM *stream,char *mailbox,char *purpose);
      |         ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1694:9: note: previous declaration of ‘mail_valid’ was here
 1694 | DRIVER *mail_valid (MAILSTREAM *stream,char *mailbox,char *purpose);
      |         ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1695:9: error: conflicting types for ‘mail_valid_net’
 1695 | DRIVER *mail_valid_net (char *name,DRIVER *drv,char *host,char *mailbox);
      |         ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1695:9: note: previous declaration of ‘mail_valid_net’ was here
 1695 | DRIVER *mail_valid_net (char *name,DRIVER *drv,char *host,char *mailbox);
      |         ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1696:6: error: conflicting types for ‘mail_valid_net_parse’
 1696 | long mail_valid_net_parse (char *name,NETMBX *mb);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1696:6: note: previous declaration of ‘mail_valid_net_parse’ was here
 1696 | long mail_valid_net_parse (char *name,NETMBX *mb);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1697:6: error: conflicting types for ‘mail_valid_net_parse_work’
 1697 | long mail_valid_net_parse_work (char *name,NETMBX *mb,char *service);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1697:6: note: previous declaration of ‘mail_valid_net_parse_work’ was here
 1697 | long mail_valid_net_parse_work (char *name,NETMBX *mb,char *service);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1698:6: error: conflicting types for ‘mail_scan’
 1698 | void mail_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1698:6: note: previous declaration of ‘mail_scan’ was here
 1698 | void mail_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1699:6: error: conflicting types for ‘mail_list’
 1699 | void mail_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1699:6: note: previous declaration of ‘mail_list’ was here
 1699 | void mail_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1700:6: error: conflicting types for ‘mail_lsub’
 1700 | void mail_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1700:6: note: previous declaration of ‘mail_lsub’ was here
 1700 | void mail_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1701:6: error: conflicting types for ‘mail_subscribe’
 1701 | long mail_subscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1701:6: note: previous declaration of ‘mail_subscribe’ was here
 1701 | long mail_subscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1702:6: error: conflicting types for ‘mail_unsubscribe’
 1702 | long mail_unsubscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1702:6: note: previous declaration of ‘mail_unsubscribe’ was here
 1702 | long mail_unsubscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1703:6: error: conflicting types for ‘mail_create’
 1703 | long mail_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1703:6: note: previous declaration of ‘mail_create’ was here
 1703 | long mail_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1704:6: error: conflicting types for ‘mail_delete’
 1704 | long mail_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1704:6: note: previous declaration of ‘mail_delete’ was here
 1704 | long mail_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1705:6: error: conflicting types for ‘mail_rename’
 1705 | long mail_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1705:6: note: previous declaration of ‘mail_rename’ was here
 1705 | long mail_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1707:6: error: conflicting types for ‘mail_status’
 1707 | long mail_status (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1707:6: note: previous declaration of ‘mail_status’ was here
 1707 | long mail_status (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1708:6: error: conflicting types for ‘mail_status_default’
 1708 | long mail_status_default (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1708:6: note: previous declaration of ‘mail_status_default’ was here
 1708 | long mail_status_default (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1709:13: error: conflicting types for ‘mail_open’
 1709 | MAILSTREAM *mail_open (MAILSTREAM *stream,char *name,long options);
      |             ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1709:13: note: previous declaration of ‘mail_open’ was here
 1709 | MAILSTREAM *mail_open (MAILSTREAM *stream,char *name,long options);
      |             ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1710:13: error: conflicting types for ‘mail_open_work’
 1710 | MAILSTREAM *mail_open_work (DRIVER *d,MAILSTREAM *stream,char *name,
      |             ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1710:13: note: previous declaration of ‘mail_open_work’ was here
 1710 | MAILSTREAM *mail_open_work (DRIVER *d,MAILSTREAM *stream,char *name,
      |             ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1712:13: error: conflicting types for ‘mail_close_full’
 1712 | MAILSTREAM *mail_close_full (MAILSTREAM *stream,long options);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1712:13: note: previous declaration of ‘mail_close_full’ was here
 1712 | MAILSTREAM *mail_close_full (MAILSTREAM *stream,long options);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1713:13: error: conflicting types for ‘mail_makehandle’
 1713 | MAILHANDLE *mail_makehandle (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1713:13: note: previous declaration of ‘mail_makehandle’ was here
 1713 | MAILHANDLE *mail_makehandle (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1714:6: error: conflicting types for ‘mail_free_handle’
 1714 | void mail_free_handle (MAILHANDLE **handle);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1714:6: note: previous declaration of ‘mail_free_handle’ was here
 1714 | void mail_free_handle (MAILHANDLE **handle);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1715:13: error: conflicting types for ‘mail_stream’
 1715 | MAILSTREAM *mail_stream (MAILHANDLE *handle);
      |             ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1715:13: note: previous declaration of ‘mail_stream’ was here
 1715 | MAILSTREAM *mail_stream (MAILHANDLE *handle);
      |             ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1717:6: error: conflicting types for ‘mail_fetch_fast’
 1717 | void mail_fetch_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1717:6: note: previous declaration of ‘mail_fetch_fast’ was here
 1717 | void mail_fetch_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1718:6: error: conflicting types for ‘mail_fetch_flags’
 1718 | void mail_fetch_flags (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1718:6: note: previous declaration of ‘mail_fetch_flags’ was here
 1718 | void mail_fetch_flags (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1719:6: error: conflicting types for ‘mail_fetch_overview’
 1719 | void mail_fetch_overview (MAILSTREAM *stream,char *sequence,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1719:6: note: previous declaration of ‘mail_fetch_overview’ was here
 1719 | void mail_fetch_overview (MAILSTREAM *stream,char *sequence,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1720:6: error: conflicting types for ‘mail_fetch_overview_sequence’
 1720 | void mail_fetch_overview_sequence (MAILSTREAM *stream,char *sequence,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1720:6: note: previous declaration of ‘mail_fetch_overview_sequence’ was here
 1720 | void mail_fetch_overview_sequence (MAILSTREAM *stream,char *sequence,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1722:6: error: conflicting types for ‘mail_fetch_overview_default’
 1722 | void mail_fetch_overview_default (MAILSTREAM *stream,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1722:6: note: previous declaration of ‘mail_fetch_overview_default’ was here
 1722 | void mail_fetch_overview_default (MAILSTREAM *stream,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1723:11: error: conflicting types for ‘mail_fetch_structure’
 1723 | ENVELOPE *mail_fetch_structure (MAILSTREAM *stream,unsigned long msgno,
      |           ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1723:11: note: previous declaration of ‘mail_fetch_structure’ was here
 1723 | ENVELOPE *mail_fetch_structure (MAILSTREAM *stream,unsigned long msgno,
      |           ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1725:7: error: conflicting types for ‘mail_fetch_message’
 1725 | char *mail_fetch_message (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1725:7: note: previous declaration of ‘mail_fetch_message’ was here
 1725 | char *mail_fetch_message (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1727:7: error: conflicting types for ‘mail_fetch_header’
 1727 | char *mail_fetch_header (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1727:7: note: previous declaration of ‘mail_fetch_header’ was here
 1727 | char *mail_fetch_header (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1729:7: error: conflicting types for ‘mail_fetch_text’
 1729 | char *mail_fetch_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1729:7: note: previous declaration of ‘mail_fetch_text’ was here
 1729 | char *mail_fetch_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1731:7: error: conflicting types for ‘mail_fetch_mime’
 1731 | char *mail_fetch_mime (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1731:7: note: previous declaration of ‘mail_fetch_mime’ was here
 1731 | char *mail_fetch_mime (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1733:7: error: conflicting types for ‘mail_fetch_body’
 1733 | char *mail_fetch_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1733:7: note: previous declaration of ‘mail_fetch_body’ was here
 1733 | char *mail_fetch_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1735:6: error: conflicting types for ‘mail_partial_text’
 1735 | long mail_partial_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1735:6: note: previous declaration of ‘mail_partial_text’ was here
 1735 | long mail_partial_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1737:6: error: conflicting types for ‘mail_partial_body’
 1737 | long mail_partial_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1737:6: note: previous declaration of ‘mail_partial_body’ was here
 1737 | long mail_partial_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1739:7: error: conflicting types for ‘mail_fetch_text_return’
 1739 | char *mail_fetch_text_return (GETS_DATA *md,SIZEDTEXT *t,unsigned long *len);
      |       ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1739:7: note: previous declaration of ‘mail_fetch_text_return’ was here
 1739 | char *mail_fetch_text_return (GETS_DATA *md,SIZEDTEXT *t,unsigned long *len);
      |       ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1740:7: error: conflicting types for ‘mail_fetch_string_return’
 1740 | char *mail_fetch_string_return (GETS_DATA *md,STRING *bs,unsigned long i,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1740:7: note: previous declaration of ‘mail_fetch_string_return’ was here
 1740 | char *mail_fetch_string_return (GETS_DATA *md,STRING *bs,unsigned long i,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1743:15: error: conflicting types for ‘mail_uid’
 1743 | unsigned long mail_uid (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:13:
mail.h:1743:15: note: previous declaration of ‘mail_uid’ was here
 1743 | unsigned long mail_uid (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1744:15: error: conflicting types for ‘mail_msgno’
 1744 | unsigned long mail_msgno (MAILSTREAM *stream,unsigned long uid);
      |               ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1744:15: note: previous declaration of ‘mail_msgno’ was here
 1744 | unsigned long mail_msgno (MAILSTREAM *stream,unsigned long uid);
      |               ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1745:6: error: conflicting types for ‘mail_fetchfrom’
 1745 | void mail_fetchfrom (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1745:6: note: previous declaration of ‘mail_fetchfrom’ was here
 1745 | void mail_fetchfrom (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1747:6: error: conflicting types for ‘mail_fetchsubject’
 1747 | void mail_fetchsubject (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1747:6: note: previous declaration of ‘mail_fetchsubject’ was here
 1747 | void mail_fetchsubject (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1749:15: error: conflicting types for ‘mail_elt’
 1749 | MESSAGECACHE *mail_elt (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:13:
mail.h:1749:15: note: previous declaration of ‘mail_elt’ was here
 1749 | MESSAGECACHE *mail_elt (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1750:6: error: conflicting types for ‘mail_flag’
 1750 | void mail_flag (MAILSTREAM *stream,char *sequence,char *flag,long flags);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1750:6: note: previous declaration of ‘mail_flag’ was here
 1750 | void mail_flag (MAILSTREAM *stream,char *sequence,char *flag,long flags);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1751:6: error: conflicting types for ‘mail_search_full’
 1751 | long mail_search_full (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1751:6: note: previous declaration of ‘mail_search_full’ was here
 1751 | long mail_search_full (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1753:6: error: conflicting types for ‘mail_search_default’
 1753 | long mail_search_default (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1753:6: note: previous declaration of ‘mail_search_default’ was here
 1753 | long mail_search_default (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1755:6: error: conflicting types for ‘mail_ping’
 1755 | long mail_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1755:6: note: previous declaration of ‘mail_ping’ was here
 1755 | long mail_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1756:6: error: conflicting types for ‘mail_check’
 1756 | void mail_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1756:6: note: previous declaration of ‘mail_check’ was here
 1756 | void mail_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1757:6: error: conflicting types for ‘mail_expunge_full’
 1757 | long mail_expunge_full (MAILSTREAM *stream,char *sequence,long options);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1757:6: note: previous declaration of ‘mail_expunge_full’ was here
 1757 | long mail_expunge_full (MAILSTREAM *stream,char *sequence,long options);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1758:6: error: conflicting types for ‘mail_copy_full’
 1758 | long mail_copy_full (MAILSTREAM *stream,char *sequence,char *mailbox,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1758:6: note: previous declaration of ‘mail_copy_full’ was here
 1758 | long mail_copy_full (MAILSTREAM *stream,char *sequence,char *mailbox,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1760:6: error: conflicting types for ‘mail_append_full’
 1760 | long mail_append_full (MAILSTREAM *stream,char *mailbox,char *flags,char *date,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1760:6: note: previous declaration of ‘mail_append_full’ was here
 1760 | long mail_append_full (MAILSTREAM *stream,char *mailbox,char *flags,char *date,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1762:6: error: conflicting types for ‘mail_append_multiple’
 1762 | long mail_append_multiple (MAILSTREAM *stream,char *mailbox,append_t af,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1762:6: note: previous declaration of ‘mail_append_multiple’ was here
 1762 | long mail_append_multiple (MAILSTREAM *stream,char *mailbox,append_t af,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1764:6: error: conflicting types for ‘mail_gc’
 1764 | void mail_gc (MAILSTREAM *stream,long gcflags);
      |      ^~~~~~~
In file included from maildir.c:13:
mail.h:1764:6: note: previous declaration of ‘mail_gc’ was here
 1764 | void mail_gc (MAILSTREAM *stream,long gcflags);
      |      ^~~~~~~
In file included from maildir.c:5355:
mail.h:1765:6: error: conflicting types for ‘mail_gc_msg’
 1765 | void mail_gc_msg (MESSAGE *msg,long gcflags);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1765:6: note: previous declaration of ‘mail_gc_msg’ was here
 1765 | void mail_gc_msg (MESSAGE *msg,long gcflags);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1766:6: error: conflicting types for ‘mail_gc_body’
 1766 | void mail_gc_body (BODY *body);
      |      ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1766:6: note: previous declaration of ‘mail_gc_body’ was here
 1766 | void mail_gc_body (BODY *body);
      |      ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1768:7: error: conflicting types for ‘mail_body_section’
 1768 | BODY *mail_body_section (BODY *b, unsigned char *section);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1768:7: note: previous declaration of ‘mail_body_section’ was here
 1768 | BODY *mail_body_section (BODY *b, unsigned char *section);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1769:7: error: conflicting types for ‘mail_body’
 1769 | BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1769:7: note: previous declaration of ‘mail_body’ was here
 1769 | BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1771:7: error: conflicting types for ‘mail_date’
 1771 | char *mail_date (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1771:7: note: previous declaration of ‘mail_date’ was here
 1771 | char *mail_date (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1772:7: error: conflicting types for ‘mail_cdate’
 1772 | char *mail_cdate (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1772:7: note: previous declaration of ‘mail_cdate’ was here
 1772 | char *mail_cdate (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1773:6: error: conflicting types for ‘mail_parse_date’
 1773 | long mail_parse_date (MESSAGECACHE *elt,unsigned char *string);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1773:6: note: previous declaration of ‘mail_parse_date’ was here
 1773 | long mail_parse_date (MESSAGECACHE *elt,unsigned char *string);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1774:6: error: conflicting types for ‘mail_exists’
 1774 | void mail_exists (MAILSTREAM *stream,unsigned long nmsgs);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1774:6: note: previous declaration of ‘mail_exists’ was here
 1774 | void mail_exists (MAILSTREAM *stream,unsigned long nmsgs);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1775:6: error: conflicting types for ‘mail_recent’
 1775 | void mail_recent (MAILSTREAM *stream,unsigned long recent);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1775:6: note: previous declaration of ‘mail_recent’ was here
 1775 | void mail_recent (MAILSTREAM *stream,unsigned long recent);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1776:6: error: conflicting types for ‘mail_expunged’
 1776 | void mail_expunged (MAILSTREAM *stream,unsigned long msgno);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1776:6: note: previous declaration of ‘mail_expunged’ was here
 1776 | void mail_expunged (MAILSTREAM *stream,unsigned long msgno);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1777:6: error: conflicting types for ‘mail_lock’
 1777 | void mail_lock (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1777:6: note: previous declaration of ‘mail_lock’ was here
 1777 | void mail_lock (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1778:6: error: conflicting types for ‘mail_unlock’
 1778 | void mail_unlock (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1778:6: note: previous declaration of ‘mail_unlock’ was here
 1778 | void mail_unlock (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1779:6: error: conflicting types for ‘mail_debug’
 1779 | void mail_debug (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1779:6: note: previous declaration of ‘mail_debug’ was here
 1779 | void mail_debug (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1780:6: error: conflicting types for ‘mail_nodebug’
 1780 | void mail_nodebug (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1780:6: note: previous declaration of ‘mail_nodebug’ was here
 1780 | void mail_nodebug (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1782:6: error: conflicting types for ‘mail_match_lines’
 1782 | long mail_match_lines (STRINGLIST *lines,STRINGLIST *msglines,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1782:6: note: previous declaration of ‘mail_match_lines’ was here
 1782 | long mail_match_lines (STRINGLIST *lines,STRINGLIST *msglines,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1783:15: error: conflicting types for ‘mail_filter’
 1783 | unsigned long mail_filter (char *text,unsigned long len,STRINGLIST *lines,
      |               ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1783:15: note: previous declaration of ‘mail_filter’ was here
 1783 | unsigned long mail_filter (char *text,unsigned long len,STRINGLIST *lines,
      |               ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1785:6: error: conflicting types for ‘mail_search_msg’
 1785 | long mail_search_msg (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1785:6: note: previous declaration of ‘mail_search_msg’ was here
 1785 | long mail_search_msg (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1787:6: error: conflicting types for ‘mail_search_header_text’
 1787 | long mail_search_header_text (char *s,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1787:6: note: previous declaration of ‘mail_search_header_text’ was here
 1787 | long mail_search_header_text (char *s,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1788:6: error: conflicting types for ‘mail_search_header’
 1788 | long mail_search_header (SIZEDTEXT *hdr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1788:6: note: previous declaration of ‘mail_search_header’ was here
 1788 | long mail_search_header (SIZEDTEXT *hdr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1789:6: error: conflicting types for ‘mail_search_text’
 1789 | long mail_search_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1789:6: note: previous declaration of ‘mail_search_text’ was here
 1789 | long mail_search_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1791:6: error: conflicting types for ‘mail_search_body’
 1791 | long mail_search_body (MAILSTREAM *stream,unsigned long msgno,BODY *body,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1791:6: note: previous declaration of ‘mail_search_body’ was here
 1791 | long mail_search_body (MAILSTREAM *stream,unsigned long msgno,BODY *body,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1793:6: error: conflicting types for ‘mail_search_string’
 1793 | long mail_search_string (SIZEDTEXT *s,char *charset,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1793:6: note: previous declaration of ‘mail_search_string’ was here
 1793 | long mail_search_string (SIZEDTEXT *s,char *charset,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1794:6: error: conflicting types for ‘mail_search_string_work’
 1794 | long mail_search_string_work (SIZEDTEXT *s,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1794:6: note: previous declaration of ‘mail_search_string_work’ was here
 1794 | long mail_search_string_work (SIZEDTEXT *s,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1795:6: error: conflicting types for ‘mail_search_keyword’
 1795 | long mail_search_keyword (MAILSTREAM *stream,MESSAGECACHE *elt,STRINGLIST *st,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1795:6: note: previous declaration of ‘mail_search_keyword’ was here
 1795 | long mail_search_keyword (MAILSTREAM *stream,MESSAGECACHE *elt,STRINGLIST *st,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1797:6: error: conflicting types for ‘mail_search_addr’
 1797 | long mail_search_addr (ADDRESS *adr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1797:6: note: previous declaration of ‘mail_search_addr’ was here
 1797 | long mail_search_addr (ADDRESS *adr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1798:7: error: conflicting types for ‘mail_search_gets’
 1798 | char *mail_search_gets (readfn_t f,void *stream,unsigned long size,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1798:7: note: previous declaration of ‘mail_search_gets’ was here
 1798 | char *mail_search_gets (readfn_t f,void *stream,unsigned long size,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1800:12: error: conflicting types for ‘mail_criteria’
 1800 | SEARCHPGM *mail_criteria (char *criteria);
      |            ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1800:12: note: previous declaration of ‘mail_criteria’ was here
 1800 | SEARCHPGM *mail_criteria (char *criteria);
      |            ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1802:5: error: conflicting types for ‘mail_criteria_string’
 1802 | int mail_criteria_string (STRINGLIST **s,char **r);
      |     ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1802:5: note: previous declaration of ‘mail_criteria_string’ was here
 1802 | int mail_criteria_string (STRINGLIST **s,char **r);
      |     ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1805:12: error: conflicting types for ‘mail_parse_set’
 1805 | SEARCHSET *mail_parse_set (char *s,char **ret);
      |            ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1805:12: note: previous declaration of ‘mail_parse_set’ was here
 1805 | SEARCHSET *mail_parse_set (char *s,char **ret);
      |            ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1806:12: error: conflicting types for ‘mail_append_set’
 1806 | SEARCHSET *mail_append_set (SEARCHSET *set,unsigned long msgno);
      |            ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1806:12: note: previous declaration of ‘mail_append_set’ was here
 1806 | SEARCHSET *mail_append_set (SEARCHSET *set,unsigned long msgno);
      |            ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1807:16: error: conflicting types for ‘mail_sort’
 1807 | unsigned long *mail_sort (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1807:16: note: previous declaration of ‘mail_sort’ was here
 1807 | unsigned long *mail_sort (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1809:16: error: conflicting types for ‘mail_sort_cache’
 1809 | unsigned long *mail_sort_cache (MAILSTREAM *stream,SORTPGM *pgm,SORTCACHE **sc,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1809:16: note: previous declaration of ‘mail_sort_cache’ was here
 1809 | unsigned long *mail_sort_cache (MAILSTREAM *stream,SORTPGM *pgm,SORTCACHE **sc,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1811:16: error: conflicting types for ‘mail_sort_msgs’
 1811 | unsigned long *mail_sort_msgs (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1811:16: note: previous declaration of ‘mail_sort_msgs’ was here
 1811 | unsigned long *mail_sort_msgs (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1813:13: error: conflicting types for ‘mail_sort_loadcache’
 1813 | SORTCACHE **mail_sort_loadcache (MAILSTREAM *stream,SORTPGM *pgm);
      |             ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1813:13: note: previous declaration of ‘mail_sort_loadcache’ was here
 1813 | SORTCACHE **mail_sort_loadcache (MAILSTREAM *stream,SORTPGM *pgm);
      |             ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1818:15: error: conflicting types for ‘mail_longdate’
 1818 | unsigned long mail_longdate (MESSAGECACHE *elt);
      |               ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1818:15: note: previous declaration of ‘mail_longdate’ was here
 1818 | unsigned long mail_longdate (MESSAGECACHE *elt);
      |               ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1819:13: error: conflicting types for ‘mail_thread’
 1819 | THREADNODE *mail_thread (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1819:13: note: previous declaration of ‘mail_thread’ was here
 1819 | THREADNODE *mail_thread (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1821:13: error: conflicting types for ‘mail_thread_msgs’
 1821 | THREADNODE *mail_thread_msgs (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1821:13: note: previous declaration of ‘mail_thread_msgs’ was here
 1821 | THREADNODE *mail_thread_msgs (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1823:13: error: conflicting types for ‘mail_thread_orderedsubject’
 1823 | THREADNODE *mail_thread_orderedsubject (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1823:13: note: previous declaration of ‘mail_thread_orderedsubject’ was here
 1823 | THREADNODE *mail_thread_orderedsubject (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1826:13: error: conflicting types for ‘mail_thread_references’
 1826 | THREADNODE *mail_thread_references (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1826:13: note: previous declaration of ‘mail_thread_references’ was here
 1826 | THREADNODE *mail_thread_references (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1829:6: error: conflicting types for ‘mail_thread_loadcache’
 1829 | void mail_thread_loadcache (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1829:6: note: previous declaration of ‘mail_thread_loadcache’ was here
 1829 | void mail_thread_loadcache (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1832:13: error: conflicting types for ‘mail_thread_parse_references’
 1832 | STRINGLIST *mail_thread_parse_references (char *s,long flag);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1832:13: note: previous declaration of ‘mail_thread_parse_references’ was here
 1832 | STRINGLIST *mail_thread_parse_references (char *s,long flag);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1836:13: error: conflicting types for ‘mail_thread_c2node’
 1836 | THREADNODE *mail_thread_c2node (MAILSTREAM *stream,container_t con,long flags);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1836:13: note: previous declaration of ‘mail_thread_c2node’ was here
 1836 | THREADNODE *mail_thread_c2node (MAILSTREAM *stream,container_t con,long flags);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1837:13: error: conflicting types for ‘mail_thread_sort’
 1837 | THREADNODE *mail_thread_sort (THREADNODE *thr,THREADNODE **tc);
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1837:13: note: previous declaration of ‘mail_thread_sort’ was here
 1837 | THREADNODE *mail_thread_sort (THREADNODE *thr,THREADNODE **tc);
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1839:6: error: conflicting types for ‘mail_sequence’
 1839 | long mail_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1839:6: note: previous declaration of ‘mail_sequence’ was here
 1839 | long mail_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1840:6: error: conflicting types for ‘mail_uid_sequence’
 1840 | long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1840:6: note: previous declaration of ‘mail_uid_sequence’ was here
 1840 | long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1841:6: error: conflicting types for ‘mail_parse_flags’
 1841 | long mail_parse_flags (MAILSTREAM *stream,char *flag,unsigned long *uf);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1841:6: note: previous declaration of ‘mail_parse_flags’ was here
 1841 | long mail_parse_flags (MAILSTREAM *stream,char *flag,unsigned long *uf);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1842:6: error: conflicting types for ‘mail_usable_network_stream’
 1842 | long mail_usable_network_stream (MAILSTREAM *stream,char *name);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1842:6: note: previous declaration of ‘mail_usable_network_stream’ was here
 1842 | long mail_usable_network_stream (MAILSTREAM *stream,char *name);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1844:15: error: conflicting types for ‘mail_new_cache_elt’
 1844 | MESSAGECACHE *mail_new_cache_elt (unsigned long msgno);
      |               ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1844:15: note: previous declaration of ‘mail_new_cache_elt’ was here
 1844 | MESSAGECACHE *mail_new_cache_elt (unsigned long msgno);
      |               ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1845:11: error: conflicting types for ‘mail_newenvelope’
 1845 | ENVELOPE *mail_newenvelope (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1845:11: note: previous declaration of ‘mail_newenvelope’ was here
 1845 | ENVELOPE *mail_newenvelope (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1846:10: error: conflicting types for ‘mail_newaddr’
 1846 | ADDRESS *mail_newaddr (void);
      |          ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1846:10: note: previous declaration of ‘mail_newaddr’ was here
 1846 | ADDRESS *mail_newaddr (void);
      |          ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1847:7: error: conflicting types for ‘mail_newbody’
 1847 | BODY *mail_newbody (void);
      |       ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1847:7: note: previous declaration of ‘mail_newbody’ was here
 1847 | BODY *mail_newbody (void);
      |       ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1848:7: error: conflicting types for ‘mail_initbody’
 1848 | BODY *mail_initbody (BODY *body);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1848:7: note: previous declaration of ‘mail_initbody’ was here
 1848 | BODY *mail_initbody (BODY *body);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1849:12: error: conflicting types for ‘mail_newbody_parameter’
 1849 | PARAMETER *mail_newbody_parameter (void);
      |            ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1849:12: note: previous declaration of ‘mail_newbody_parameter’ was here
 1849 | PARAMETER *mail_newbody_parameter (void);
      |            ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1850:7: error: conflicting types for ‘mail_newbody_part’
 1850 | PART *mail_newbody_part (void);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1850:7: note: previous declaration of ‘mail_newbody_part’ was here
 1850 | PART *mail_newbody_part (void);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1851:10: error: conflicting types for ‘mail_newmsg’
 1851 | MESSAGE *mail_newmsg (void);
      |          ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1851:10: note: previous declaration of ‘mail_newmsg’ was here
 1851 | MESSAGE *mail_newmsg (void);
      |          ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1852:13: error: conflicting types for ‘mail_newstringlist’
 1852 | STRINGLIST *mail_newstringlist (void);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1852:13: note: previous declaration of ‘mail_newstringlist’ was here
 1852 | STRINGLIST *mail_newstringlist (void);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1853:12: error: conflicting types for ‘mail_newsearchpgm’
 1853 | SEARCHPGM *mail_newsearchpgm (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1853:12: note: previous declaration of ‘mail_newsearchpgm’ was here
 1853 | SEARCHPGM *mail_newsearchpgm (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1854:15: error: conflicting types for ‘mail_newsearchheader’
 1854 | SEARCHHEADER *mail_newsearchheader (char *line,char *text);
      |               ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1854:15: note: previous declaration of ‘mail_newsearchheader’ was here
 1854 | SEARCHHEADER *mail_newsearchheader (char *line,char *text);
      |               ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1855:12: error: conflicting types for ‘mail_newsearchset’
 1855 | SEARCHSET *mail_newsearchset (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1855:12: note: previous declaration of ‘mail_newsearchset’ was here
 1855 | SEARCHSET *mail_newsearchset (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1856:11: error: conflicting types for ‘mail_newsearchor’
 1856 | SEARCHOR *mail_newsearchor (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1856:11: note: previous declaration of ‘mail_newsearchor’ was here
 1856 | SEARCHOR *mail_newsearchor (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1857:16: error: conflicting types for ‘mail_newsearchpgmlist’
 1857 | SEARCHPGMLIST *mail_newsearchpgmlist (void);
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1857:16: note: previous declaration of ‘mail_newsearchpgmlist’ was here
 1857 | SEARCHPGMLIST *mail_newsearchpgmlist (void);
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1858:10: error: conflicting types for ‘mail_newsortpgm’
 1858 | SORTPGM *mail_newsortpgm (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1858:10: note: previous declaration of ‘mail_newsortpgm’ was here
 1858 | SORTPGM *mail_newsortpgm (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1859:13: error: conflicting types for ‘mail_newthreadnode’
 1859 | THREADNODE *mail_newthreadnode (SORTCACHE *sc);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1859:13: note: previous declaration of ‘mail_newthreadnode’ was here
 1859 | THREADNODE *mail_newthreadnode (SORTCACHE *sc);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1860:10: error: conflicting types for ‘mail_newacllist’
 1860 | ACLLIST *mail_newacllist (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1860:10: note: previous declaration of ‘mail_newacllist’ was here
 1860 | ACLLIST *mail_newacllist (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1861:12: error: conflicting types for ‘mail_newquotalist’
 1861 | QUOTALIST *mail_newquotalist (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1861:12: note: previous declaration of ‘mail_newquotalist’ was here
 1861 | QUOTALIST *mail_newquotalist (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1862:6: error: conflicting types for ‘mail_free_idlist’
 1862 | void mail_free_idlist (IDLIST **idlist);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1862:6: note: previous declaration of ‘mail_free_idlist’ was here
 1862 | void mail_free_idlist (IDLIST **idlist);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1863:6: error: conflicting types for ‘mail_free_body’
 1863 | void mail_free_body (BODY **body);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1863:6: note: previous declaration of ‘mail_free_body’ was here
 1863 | void mail_free_body (BODY **body);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1864:6: error: conflicting types for ‘mail_free_body_data’
 1864 | void mail_free_body_data (BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1864:6: note: previous declaration of ‘mail_free_body_data’ was here
 1864 | void mail_free_body_data (BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1865:6: error: conflicting types for ‘mail_free_body_parameter’
 1865 | void mail_free_body_parameter (PARAMETER **parameter);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1865:6: note: previous declaration of ‘mail_free_body_parameter’ was here
 1865 | void mail_free_body_parameter (PARAMETER **parameter);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1866:6: error: conflicting types for ‘mail_free_body_part’
 1866 | void mail_free_body_part (PART **part);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1866:6: note: previous declaration of ‘mail_free_body_part’ was here
 1866 | void mail_free_body_part (PART **part);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1867:6: error: conflicting types for ‘mail_free_cache’
 1867 | void mail_free_cache (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1867:6: note: previous declaration of ‘mail_free_cache’ was here
 1867 | void mail_free_cache (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1868:6: error: conflicting types for ‘mail_free_elt’
 1868 | void mail_free_elt (MESSAGECACHE **elt);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1868:6: note: previous declaration of ‘mail_free_elt’ was here
 1868 | void mail_free_elt (MESSAGECACHE **elt);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1869:6: error: conflicting types for ‘mail_free_envelope’
 1869 | void mail_free_envelope (ENVELOPE **env);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1869:6: note: previous declaration of ‘mail_free_envelope’ was here
 1869 | void mail_free_envelope (ENVELOPE **env);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1870:6: error: conflicting types for ‘mail_free_address’
 1870 | void mail_free_address (ADDRESS **address);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1870:6: note: previous declaration of ‘mail_free_address’ was here
 1870 | void mail_free_address (ADDRESS **address);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1871:6: error: conflicting types for ‘mail_free_stringlist’
 1871 | void mail_free_stringlist (STRINGLIST **string);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1871:6: note: previous declaration of ‘mail_free_stringlist’ was here
 1871 | void mail_free_stringlist (STRINGLIST **string);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1872:6: error: conflicting types for ‘mail_free_searchpgm’
 1872 | void mail_free_searchpgm (SEARCHPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1872:6: note: previous declaration of ‘mail_free_searchpgm’ was here
 1872 | void mail_free_searchpgm (SEARCHPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1873:6: error: conflicting types for ‘mail_free_searchheader’
 1873 | void mail_free_searchheader (SEARCHHEADER **hdr);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1873:6: note: previous declaration of ‘mail_free_searchheader’ was here
 1873 | void mail_free_searchheader (SEARCHHEADER **hdr);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1874:6: error: conflicting types for ‘mail_free_searchset’
 1874 | void mail_free_searchset (SEARCHSET **set);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1874:6: note: previous declaration of ‘mail_free_searchset’ was here
 1874 | void mail_free_searchset (SEARCHSET **set);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1875:6: error: conflicting types for ‘mail_free_searchor’
 1875 | void mail_free_searchor (SEARCHOR **orl);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1875:6: note: previous declaration of ‘mail_free_searchor’ was here
 1875 | void mail_free_searchor (SEARCHOR **orl);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1876:6: error: conflicting types for ‘mail_free_searchpgmlist’
 1876 | void mail_free_searchpgmlist (SEARCHPGMLIST **pgl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1876:6: note: previous declaration of ‘mail_free_searchpgmlist’ was here
 1876 | void mail_free_searchpgmlist (SEARCHPGMLIST **pgl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1877:6: error: conflicting types for ‘mail_free_namespace’
 1877 | void mail_free_namespace (NAMESPACE **n);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1877:6: note: previous declaration of ‘mail_free_namespace’ was here
 1877 | void mail_free_namespace (NAMESPACE **n);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1878:6: error: conflicting types for ‘mail_free_sortpgm’
 1878 | void mail_free_sortpgm (SORTPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1878:6: note: previous declaration of ‘mail_free_sortpgm’ was here
 1878 | void mail_free_sortpgm (SORTPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1879:6: error: conflicting types for ‘mail_free_threadnode’
 1879 | void mail_free_threadnode (THREADNODE **thr);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1879:6: note: previous declaration of ‘mail_free_threadnode’ was here
 1879 | void mail_free_threadnode (THREADNODE **thr);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1880:6: error: conflicting types for ‘mail_free_acllist’
 1880 | void mail_free_acllist (ACLLIST **al);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1880:6: note: previous declaration of ‘mail_free_acllist’ was here
 1880 | void mail_free_acllist (ACLLIST **al);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1881:6: error: conflicting types for ‘mail_free_quotalist’
 1881 | void mail_free_quotalist (QUOTALIST **ql);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1881:6: note: previous declaration of ‘mail_free_quotalist’ was here
 1881 | void mail_free_quotalist (QUOTALIST **ql);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1882:6: error: conflicting types for ‘auth_link’
 1882 | void auth_link (AUTHENTICATOR *auth);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1882:6: note: previous declaration of ‘auth_link’ was here
 1882 | void auth_link (AUTHENTICATOR *auth);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1884:16: error: conflicting types for ‘mail_lookup_auth’
 1884 | AUTHENTICATOR *mail_lookup_auth (unsigned long i);
      |                ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1884:16: note: previous declaration of ‘mail_lookup_auth’ was here
 1884 | AUTHENTICATOR *mail_lookup_auth (unsigned long i);
      |                ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1887:12: error: conflicting types for ‘net_open’
 1887 | NETSTREAM *net_open (NETMBX *mb,NETDRIVER *dv,unsigned long port,
      |            ^~~~~~~~
In file included from maildir.c:13:
mail.h:1887:12: note: previous declaration of ‘net_open’ was here
 1887 | NETSTREAM *net_open (NETMBX *mb,NETDRIVER *dv,unsigned long port,
      |            ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1889:12: error: conflicting types for ‘net_open_work’
 1889 | NETSTREAM *net_open_work (NETDRIVER *dv,char *host,char *service,
      |            ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1889:12: note: previous declaration of ‘net_open_work’ was here
 1889 | NETSTREAM *net_open_work (NETDRIVER *dv,char *host,char *service,
      |            ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1892:12: error: conflicting types for ‘net_aopen’
 1892 | NETSTREAM *net_aopen (NETDRIVER *dv,NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1892:12: note: previous declaration of ‘net_aopen’ was here
 1892 | NETSTREAM *net_aopen (NETDRIVER *dv,NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1893:7: error: conflicting types for ‘net_getline’
 1893 | char *net_getline (NETSTREAM *stream);
      |       ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1893:7: note: previous declaration of ‘net_getline’ was here
 1893 | char *net_getline (NETSTREAM *stream);
      |       ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1896:6: error: conflicting types for ‘net_soutr’
 1896 | long net_soutr (NETSTREAM *stream,char *string);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1896:6: note: previous declaration of ‘net_soutr’ was here
 1896 | long net_soutr (NETSTREAM *stream,char *string);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1897:6: error: conflicting types for ‘net_sout’
 1897 | long net_sout (NETSTREAM *stream,char *string,unsigned long size);
      |      ^~~~~~~~
In file included from maildir.c:13:
mail.h:1897:6: note: previous declaration of ‘net_sout’ was here
 1897 | long net_sout (NETSTREAM *stream,char *string,unsigned long size);
      |      ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1898:6: error: conflicting types for ‘net_close’
 1898 | void net_close (NETSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1898:6: note: previous declaration of ‘net_close’ was here
 1898 | void net_close (NETSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1899:7: error: conflicting types for ‘net_host’
 1899 | char *net_host (NETSTREAM *stream);
      |       ^~~~~~~~
In file included from maildir.c:13:
mail.h:1899:7: note: previous declaration of ‘net_host’ was here
 1899 | char *net_host (NETSTREAM *stream);
      |       ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1900:7: error: conflicting types for ‘net_remotehost’
 1900 | char *net_remotehost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1900:7: note: previous declaration of ‘net_remotehost’ was here
 1900 | char *net_remotehost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1901:15: error: conflicting types for ‘net_port’
 1901 | unsigned long net_port (NETSTREAM *stream);
      |               ^~~~~~~~
In file included from maildir.c:13:
mail.h:1901:15: note: previous declaration of ‘net_port’ was here
 1901 | unsigned long net_port (NETSTREAM *stream);
      |               ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1902:7: error: conflicting types for ‘net_localhost’
 1902 | char *net_localhost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1902:7: note: previous declaration of ‘net_localhost’ was here
 1902 | char *net_localhost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1903:7: error: conflicting types for ‘net_getsize’
 1903 | char *net_getsize(NETSTREAM *stream, unsigned long size);
      |       ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1903:7: note: previous declaration of ‘net_getsize’ was here
 1903 | char *net_getsize(NETSTREAM *stream, unsigned long size);
      |       ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1922:5: error: conflicting types for ‘PSOUTR’
 1922 | int PSOUTR (SIZEDTEXT *s);
      |     ^~~~~~
In file included from maildir.c:13:
mail.h:1922:5: note: previous declaration of ‘PSOUTR’ was here
 1922 | int PSOUTR (SIZEDTEXT *s);
      |     ^~~~~~
In file included from maildir.c:5355:
mail.h:1934:15: error: redeclaration of enumerator ‘OA2_Id’
 1934 | typedef enum {OA2_Id = 0,
      |               ^~~~~~
In file included from maildir.c:2684:
mail.h:1934:15: note: previous definition of ‘OA2_Id’ was here
 1934 | typedef enum {OA2_Id = 0,
      |               ^~~~~~
In file included from maildir.c:5355:
mail.h:1935:8: error: redeclaration of enumerator ‘OA2_Secret’
 1935 |        OA2_Secret,
      |        ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1935:8: note: previous definition of ‘OA2_Secret’ was here
 1935 |        OA2_Secret,
      |        ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1936:8: error: redeclaration of enumerator ‘OA2_Code’
 1936 |        OA2_Code,
      |        ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1936:8: note: previous definition of ‘OA2_Code’ was here
 1936 |        OA2_Code,
      |        ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1937:8: error: redeclaration of enumerator ‘OA2_RefreshToken’
 1937 |        OA2_RefreshToken,
      |        ^~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1937:8: note: previous definition of ‘OA2_RefreshToken’ was here
 1937 |        OA2_RefreshToken,
      |        ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1938:8: error: redeclaration of enumerator ‘OA2_Scope’
 1938 |        OA2_Scope,
      |        ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1938:8: note: previous definition of ‘OA2_Scope’ was here
 1938 |        OA2_Scope,
      |        ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1939:8: error: redeclaration of enumerator ‘OA2_Redirect’
 1939 |        OA2_Redirect,
      |        ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1939:8: note: previous definition of ‘OA2_Redirect’ was here
 1939 |        OA2_Redirect,
      |        ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1940:8: error: redeclaration of enumerator ‘OA2_GrantTypeforAccessToken’
 1940 |        OA2_GrantTypeforAccessToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1940:8: note: previous definition of ‘OA2_GrantTypeforAccessToken’ was here
 1940 |        OA2_GrantTypeforAccessToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1941:8: error: redeclaration of enumerator ‘OA2_GrantTypefromRefreshToken’
 1941 |        OA2_GrantTypefromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1941:8: note: previous definition of ‘OA2_GrantTypefromRefreshToken’ was here
 1941 |        OA2_GrantTypefromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1942:8: error: redeclaration of enumerator ‘OA2_Response’
 1942 |        OA2_Response,
      |        ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1942:8: note: previous definition of ‘OA2_Response’ was here
 1942 |        OA2_Response,
      |        ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1943:8: error: redeclaration of enumerator ‘OA2_State’
 1943 |        OA2_State,
      |        ^~~~~~~~~
In file included from maildir.c:2684:
mail.h:1943:8: note: previous definition of ‘OA2_State’ was here
 1943 |        OA2_State,
      |        ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1944:8: error: redeclaration of enumerator ‘OA2_DeviceCode’
 1944 |        OA2_DeviceCode,
      |        ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1944:8: note: previous definition of ‘OA2_DeviceCode’ was here
 1944 |        OA2_DeviceCode,
      |        ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1945:8: error: redeclaration of enumerator ‘OA2_End’
 1945 |        OA2_End} OA2_type;
      |        ^~~~~~~
In file included from maildir.c:2684:
mail.h:1945:8: note: previous definition of ‘OA2_End’ was here
 1945 |        OA2_End} OA2_type;
      |        ^~~~~~~
In file included from maildir.c:5355:
mail.h:1945:17: error: conflicting types for ‘OA2_type’
 1945 |        OA2_End} OA2_type;
      |                 ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1945:17: note: previous declaration of ‘OA2_type’ was here
 1945 |        OA2_End} OA2_type;
      |                 ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1947:15: error: redeclaration of enumerator ‘OA2_GetAccessCode’
 1947 | typedef enum {OA2_GetAccessCode = 0,  /* define this to get access code */
      |               ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1947:15: note: previous definition of ‘OA2_GetAccessCode’ was here
 1947 | typedef enum {OA2_GetAccessCode = 0,  /* define this to get access code */
      |               ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1948:8: error: redeclaration of enumerator ‘OA2_GetDeviceCode’
 1948 |        OA2_GetDeviceCode,  /* define this if server uses device */
      |        ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1948:8: note: previous definition of ‘OA2_GetDeviceCode’ was here
 1948 |        OA2_GetDeviceCode,  /* define this if server uses device */
      |        ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1949:8: error: redeclaration of enumerator ‘OA2_GetAccessTokenFromAccessCode’
 1949 |        OA2_GetAccessTokenFromAccessCode,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1949:8: note: previous definition of ‘OA2_GetAccessTokenFromAccessCode’ was here
 1949 |        OA2_GetAccessTokenFromAccessCode,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1950:8: error: redeclaration of enumerator ‘OA2_GetAccessTokenFromRefreshToken’
 1950 |        OA2_GetAccessTokenFromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1950:8: note: previous definition of ‘OA2_GetAccessTokenFromRefreshToken’ was here
 1950 |        OA2_GetAccessTokenFromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1951:8: error: redeclaration of enumerator ‘OA2_GetEnd’
 1951 |        OA2_GetEnd} OA2_function;
      |        ^~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1951:8: note: previous definition of ‘OA2_GetEnd’ was here
 1951 |        OA2_GetEnd} OA2_function;
      |        ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1951:20: error: conflicting types for ‘OA2_function’
 1951 |        OA2_GetEnd} OA2_function;
      |                    ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1951:20: note: previous declaration of ‘OA2_function’ was here
 1951 |        OA2_GetEnd} OA2_function;
      |                    ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1953:16: error: redefinition of ‘struct OA2_param_s’
 1953 | typedef struct OA2_param_s {
      |                ^~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1953:16: note: originally defined here
 1953 | typedef struct OA2_param_s {
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1956:3: error: conflicting types for ‘OAUTH2_PARAM_S’
 1956 | } OAUTH2_PARAM_S;
      |   ^~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1956:3: note: previous declaration of ‘OAUTH2_PARAM_S’ was here
 1956 | } OAUTH2_PARAM_S;
      |   ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1958:16: error: redefinition of ‘struct OA2_serverparam_s’
 1958 | typedef struct OA2_serverparam_s {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1958:16: note: originally defined here
 1958 | typedef struct OA2_serverparam_s {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1962:3: error: conflicting types for ‘OAUTH2_SERVER_METHOD_S’
 1962 | } OAUTH2_SERVER_METHOD_S;
      |   ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1962:3: note: previous declaration of ‘OAUTH2_SERVER_METHOD_S’ was here
 1962 | } OAUTH2_SERVER_METHOD_S;
      |   ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1964:16: error: redefinition of ‘struct device_code_s’
 1964 | typedef struct device_code_s {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1964:16: note: originally defined here
 1964 | typedef struct device_code_s {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1971:3: error: conflicting types for ‘OAUTH2_DEVICECODE_S’
 1971 | } OAUTH2_DEVICECODE_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1971:3: note: previous declaration of ‘OAUTH2_DEVICECODE_S’ was here
 1971 | } OAUTH2_DEVICECODE_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1973:16: error: redefinition of ‘struct oauth2_s’
 1973 | typedef struct oauth2_s {
      |                ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1973:16: note: originally defined here
 1973 | typedef struct oauth2_s {
      |                ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1984:3: error: conflicting types for ‘OAUTH2_S’
 1984 | } OAUTH2_S;
      |   ^~~~~~~~
In file included from maildir.c:2684:
mail.h:1984:3: note: previous declaration of ‘OAUTH2_S’ was here
 1984 | } OAUTH2_S;
      |   ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1986:16: error: redefinition of ‘struct deviceproc_s’
 1986 | typedef struct deviceproc_s {
      |                ^~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1986:16: note: originally defined here
 1986 | typedef struct deviceproc_s {
      |                ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1991:3: error: conflicting types for ‘OAUTH2_DEVICEPROC_S’
 1991 | } OAUTH2_DEVICEPROC_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1991:3: note: previous declaration of ‘OAUTH2_DEVICEPROC_S’ was here
 1991 | } OAUTH2_DEVICEPROC_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1994:17: error: conflicting types for ‘oauth2getaccesscode_t’
 1994 | typedef char *(*oauth2getaccesscode_t) (unsigned char *, char *, OAUTH2_S *, int *);
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1994:17: note: previous declaration of ‘oauth2getaccesscode_t’ was here
 1994 | typedef char *(*oauth2getaccesscode_t) (unsigned char *, char *, OAUTH2_S *, int *);
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1996:16: error: conflicting types for ‘oauth2deviceinfo_t’
 1996 | typedef void (*oauth2deviceinfo_t)(OAUTH2_S *, char *method);
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:2684:
mail.h:1996:16: note: previous declaration of ‘oauth2deviceinfo_t’ was here
 1996 | typedef void (*oauth2deviceinfo_t)(OAUTH2_S *, char *method);
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1997:6: error: conflicting types for ‘mm_login_oauth2_c_client_method’
 1997 | void mm_login_oauth2_c_client_method (NETMBX *, char *, char *, OAUTH2_S *, unsigned long, int *);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1997:6: note: previous declaration of ‘mm_login_oauth2_c_client_method’ was here
 1997 | void mm_login_oauth2_c_client_method (NETMBX *, char *, char *, OAUTH2_S *, unsigned long, int *);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:5359:
env_unix.h:27:16: error: redefinition of ‘struct dotlock_base’
   27 | typedef struct dotlock_base {
      |                ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:2688:
env_unix.h:27:16: note: originally defined here
   27 | typedef struct dotlock_base {
      |                ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:5359:
env_unix.h:31:3: error: conflicting types for ‘DOTLOCK’
   31 | } DOTLOCK;
      |   ^~~~~~~
In file included from osdep.h:67,
                 from maildir.c:2688:
env_unix.h:31:3: note: previous declaration of ‘DOTLOCK’ was here
   31 | } DOTLOCK;
      |   ^~~~~~~
In file included from env_unix.h:58,
                 from osdep.h:67,
                 from maildir.c:5359:
env.h:45:13: error: conflicting types for ‘default_proto’
   45 | MAILSTREAM *default_proto (long type);
      |             ^~~~~~~~~~~~~
In file included from env_unix.h:58,
                 from osdep.h:67,
                 from maildir.c:17:
env.h:45:13: note: previous declaration of ‘default_proto’ was here
   45 | MAILSTREAM *default_proto (long type);
      |             ^~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:5359:
env_unix.h:70:6: error: conflicting types for ‘dotlock_lock’
   70 | long dotlock_lock (char *file,DOTLOCK *base,int fd);
      |      ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:70:6: note: previous declaration of ‘dotlock_lock’ was here
   70 | long dotlock_lock (char *file,DOTLOCK *base,int fd);
      |      ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:5359:
env_unix.h:71:6: error: conflicting types for ‘dotlock_unlock’
   71 | long dotlock_unlock (DOTLOCK *base);
      |      ^~~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:71:6: note: previous declaration of ‘dotlock_unlock’ was here
   71 | long dotlock_unlock (DOTLOCK *base);
      |      ^~~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:5359:
env_unix.h:79:13: error: conflicting types for ‘user_flags’
   79 | MAILSTREAM *user_flags (MAILSTREAM *stream);
      |             ^~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:79:13: note: previous declaration of ‘user_flags’ was here
   79 | MAILSTREAM *user_flags (MAILSTREAM *stream);
      |             ^~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:5359:
env_unix.h:82:6: error: conflicting types for ‘path_create’
   82 | long path_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:82:6: note: previous declaration of ‘path_create’ was here
   82 | long path_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from osdep.h:70,
                 from maildir.c:5359:
nl.h:34:15: error: conflicting types for ‘strcrlflen’
   34 | unsigned long strcrlflen (STRING *s);
      |               ^~~~~~~~~~
In file included from osdep.h:70,
                 from maildir.c:17:
nl.h:34:15: note: previous declaration of ‘strcrlflen’ was here
   34 | unsigned long strcrlflen (STRING *s);
      |               ^~~~~~~~~~
In file included from osdep.h:71,
                 from maildir.c:5359:
tcp.h:41:12: error: conflicting types for ‘tcp_aopen’
   41 | TCPSTREAM *tcp_aopen (NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from osdep.h:71,
                 from maildir.c:17:
tcp.h:41:12: note: previous declaration of ‘tcp_aopen’ was here
   41 | TCPSTREAM *tcp_aopen (NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:42:16: error: conflicting types for ‘rfc822out_t’
   42 | typedef long (*rfc822out_t) (char *tmp,ENVELOPE *env,BODY *body,soutr_t f,
      |                ^~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:42:16: note: previous declaration of ‘rfc822out_t’ was here
   42 | typedef long (*rfc822out_t) (char *tmp,ENVELOPE *env,BODY *body,soutr_t f,
      |                ^~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:45:16: error: redefinition of ‘struct rfc822buffer’
   45 | typedef struct rfc822buffer {
      |                ^~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:45:16: note: originally defined here
   45 | typedef struct rfc822buffer {
      |                ^~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:51:3: error: conflicting types for ‘RFC822BUFFER’
   51 | } RFC822BUFFER;
      |   ^~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:51:3: note: previous declaration of ‘RFC822BUFFER’ was here
   51 | } RFC822BUFFER;
      |   ^~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:53:16: error: conflicting types for ‘rfc822outfull_t’
   53 | typedef long (*rfc822outfull_t) (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:2689:
rfc822.h:53:16: note: previous declaration of ‘rfc822outfull_t’ was here
   53 | typedef long (*rfc822outfull_t) (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:59:6: error: conflicting types for ‘rfc822_parse_msg_full’
   59 | void rfc822_parse_msg_full (ENVELOPE **en,BODY **bdy,char *s,unsigned long i,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:59:6: note: previous declaration of ‘rfc822_parse_msg_full’ was here
   59 | void rfc822_parse_msg_full (ENVELOPE **en,BODY **bdy,char *s,unsigned long i,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:62:6: error: conflicting types for ‘rfc822_parse_content’
   62 | void rfc822_parse_content (BODY *body,STRING *bs,char *h,unsigned long depth,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:62:6: note: previous declaration of ‘rfc822_parse_content’ was here
   62 | void rfc822_parse_content (BODY *body,STRING *bs,char *h,unsigned long depth,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:64:6: error: conflicting types for ‘rfc822_parse_content_header’
   64 | void rfc822_parse_content_header (BODY *body,char *name,char *s);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:64:6: note: previous declaration of ‘rfc822_parse_content_header’ was here
   64 | void rfc822_parse_content_header (BODY *body,char *name,char *s);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:65:6: error: conflicting types for ‘rfc822_parse_parameter’
   65 | void rfc822_parse_parameter (PARAMETER **par,char *text);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:65:6: note: previous declaration of ‘rfc822_parse_parameter’ was here
   65 | void rfc822_parse_parameter (PARAMETER **par,char *text);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:66:6: error: conflicting types for ‘rfc822_parse_adrlist’
   66 | void rfc822_parse_adrlist (ADDRESS **lst,char *string,char *host);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:66:6: note: previous declaration of ‘rfc822_parse_adrlist’ was here
   66 | void rfc822_parse_adrlist (ADDRESS **lst,char *string,char *host);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:67:10: error: conflicting types for ‘rfc822_parse_address’
   67 | ADDRESS *rfc822_parse_address (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:67:10: note: previous declaration of ‘rfc822_parse_address’ was here
   67 | ADDRESS *rfc822_parse_address (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:69:10: error: conflicting types for ‘rfc822_parse_group’
   69 | ADDRESS *rfc822_parse_group (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:69:10: note: previous declaration of ‘rfc822_parse_group’ was here
   69 | ADDRESS *rfc822_parse_group (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:71:10: error: conflicting types for ‘rfc822_parse_mailbox’
   71 | ADDRESS *rfc822_parse_mailbox (char **string,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:71:10: note: previous declaration of ‘rfc822_parse_mailbox’ was here
   71 | ADDRESS *rfc822_parse_mailbox (char **string,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:73:10: error: conflicting types for ‘rfc822_parse_routeaddr’
   73 | ADDRESS *rfc822_parse_routeaddr (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:73:10: note: previous declaration of ‘rfc822_parse_routeaddr’ was here
   73 | ADDRESS *rfc822_parse_routeaddr (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:74:10: error: conflicting types for ‘rfc822_parse_addrspec’
   74 | ADDRESS *rfc822_parse_addrspec (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:74:10: note: previous declaration of ‘rfc822_parse_addrspec’ was here
   74 | ADDRESS *rfc822_parse_addrspec (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:80:10: error: conflicting types for ‘rfc822_cpy_adr’
   80 | ADDRESS *rfc822_cpy_adr (ADDRESS *adr);
      |          ^~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:80:10: note: previous declaration of ‘rfc822_cpy_adr’ was here
   80 | ADDRESS *rfc822_cpy_adr (ADDRESS *adr);
      |          ^~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:84:6: error: conflicting types for ‘rfc822_output_full’
   84 | long rfc822_output_full (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,long ok8);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:84:6: note: previous declaration of ‘rfc822_output_full’ was here
   84 | long rfc822_output_full (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,long ok8);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:85:6: error: conflicting types for ‘rfc822_output_flush’
   85 | long rfc822_output_flush (RFC822BUFFER *buf);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:85:6: note: previous declaration of ‘rfc822_output_flush’ was here
   85 | long rfc822_output_flush (RFC822BUFFER *buf);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:86:6: error: conflicting types for ‘rfc822_output_header’
   86 | long rfc822_output_header (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:86:6: note: previous declaration of ‘rfc822_output_header’ was here
   86 | long rfc822_output_header (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:88:6: error: conflicting types for ‘rfc822_output_header_line’
   88 | long rfc822_output_header_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:88:6: note: previous declaration of ‘rfc822_output_header_line’ was here
   88 | long rfc822_output_header_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:90:6: error: conflicting types for ‘rfc822_output_address_line’
   90 | long rfc822_output_address_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:90:6: note: previous declaration of ‘rfc822_output_address_line’ was here
   90 | long rfc822_output_address_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:92:6: error: conflicting types for ‘rfc822_output_address_list’
   92 | long rfc822_output_address_list (RFC822BUFFER *buf,ADDRESS *adr,long pretty,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:92:6: note: previous declaration of ‘rfc822_output_address_list’ was here
   92 | long rfc822_output_address_list (RFC822BUFFER *buf,ADDRESS *adr,long pretty,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:94:6: error: conflicting types for ‘rfc822_output_address’
   94 | long rfc822_output_address (RFC822BUFFER *buf,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:94:6: note: previous declaration of ‘rfc822_output_address’ was here
   94 | long rfc822_output_address (RFC822BUFFER *buf,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:95:6: error: conflicting types for ‘rfc822_output_cat’
   95 | long rfc822_output_cat (RFC822BUFFER *buf,char *src,const char *specials);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:95:6: note: previous declaration of ‘rfc822_output_cat’ was here
   95 | long rfc822_output_cat (RFC822BUFFER *buf,char *src,const char *specials);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:96:6: error: conflicting types for ‘rfc822_output_parameter’
   96 | long rfc822_output_parameter (RFC822BUFFER *buf,PARAMETER *param);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:96:6: note: previous declaration of ‘rfc822_output_parameter’ was here
   96 | long rfc822_output_parameter (RFC822BUFFER *buf,PARAMETER *param);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:97:6: error: conflicting types for ‘rfc822_output_stringlist’
   97 | long rfc822_output_stringlist (RFC822BUFFER *buf,STRINGLIST *stl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:97:6: note: previous declaration of ‘rfc822_output_stringlist’ was here
   97 | long rfc822_output_stringlist (RFC822BUFFER *buf,STRINGLIST *stl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:98:6: error: conflicting types for ‘rfc822_output_body_header’
   98 | long rfc822_output_body_header (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:98:6: note: previous declaration of ‘rfc822_output_body_header’ was here
   98 | long rfc822_output_body_header (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:99:6: error: conflicting types for ‘rfc822_encode_body_7bit’
   99 | void rfc822_encode_body_7bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:99:6: note: previous declaration of ‘rfc822_encode_body_7bit’ was here
   99 | void rfc822_encode_body_7bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:100:6: error: conflicting types for ‘rfc822_encode_body_8bit’
  100 | void rfc822_encode_body_8bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:100:6: note: previous declaration of ‘rfc822_encode_body_8bit’ was here
  100 | void rfc822_encode_body_8bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:101:6: error: conflicting types for ‘rfc822_output_text’
  101 | long rfc822_output_text (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:101:6: note: previous declaration of ‘rfc822_output_text’ was here
  101 | long rfc822_output_text (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:111:6: error: conflicting types for ‘rfc822_header’
  111 | void rfc822_header (char *header,ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:111:6: note: previous declaration of ‘rfc822_header’ was here
  111 | void rfc822_header (char *header,ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:112:6: error: conflicting types for ‘rfc822_header_line’
  112 | void rfc822_header_line (char **header,char *type,ENVELOPE *env,char *text);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:112:6: note: previous declaration of ‘rfc822_header_line’ was here
  112 | void rfc822_header_line (char **header,char *type,ENVELOPE *env,char *text);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:113:6: error: conflicting types for ‘rfc822_address_line’
  113 | void rfc822_address_line (char **header,char *type,ENVELOPE *env,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:113:6: note: previous declaration of ‘rfc822_address_line’ was here
  113 | void rfc822_address_line (char **header,char *type,ENVELOPE *env,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:114:7: error: conflicting types for ‘rfc822_write_address_full’
  114 | char *rfc822_write_address_full (char *dest,ADDRESS *adr,char *base);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:114:7: note: previous declaration of ‘rfc822_write_address_full’ was here
  114 | char *rfc822_write_address_full (char *dest,ADDRESS *adr,char *base);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:115:6: error: conflicting types for ‘rfc822_address’
  115 | void rfc822_address (char *dest,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:115:6: note: previous declaration of ‘rfc822_address’ was here
  115 | void rfc822_address (char *dest,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:117:6: error: conflicting types for ‘rfc822_write_body_header’
  117 | void rfc822_write_body_header (char **header,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:117:6: note: previous declaration of ‘rfc822_write_body_header’ was here
  117 | void rfc822_write_body_header (char **header,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:118:6: error: conflicting types for ‘rfc822_output’
  118 | long rfc822_output (char *t,ENVELOPE *env,BODY *body,soutr_t f,void *s,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:118:6: note: previous declaration of ‘rfc822_output’ was here
  118 | long rfc822_output (char *t,ENVELOPE *env,BODY *body,soutr_t f,void *s,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:120:6: error: conflicting types for ‘rfc822_output_body’
  120 | long rfc822_output_body (BODY *body,soutr_t f,void *s);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:120:6: note: previous declaration of ‘rfc822_output_body’ was here
  120 | long rfc822_output_body (BODY *body,soutr_t f,void *s);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5361:
fdstring.h:31:16: error: redefinition of ‘struct fd_data’
   31 | typedef struct fd_data {
      |                ^~~~~~~
In file included from maildir.c:2690:
fdstring.h:31:16: note: originally defined here
   31 | typedef struct fd_data {
      |                ^~~~~~~
In file included from maildir.c:5361:
fdstring.h:36:3: error: conflicting types for ‘FDDATA’
   36 | } FDDATA;
      |   ^~~~~~
In file included from maildir.c:2690:
fdstring.h:36:3: note: previous declaration of ‘FDDATA’ was here
   36 | } FDDATA;
      |   ^~~~~~
In file included from maildir.c:5361:
fdstring.h:39:21: error: conflicting types for ‘fd_string’
   39 | extern STRINGDRIVER fd_string;
      |                     ^~~~~~~~~
In file included from maildir.c:19:
fdstring.h:39:21: note: previous declaration of ‘fd_string’ was here
   39 | extern STRINGDRIVER fd_string;
      |                     ^~~~~~~~~
In file included from maildir.c:5362:
misc.h:36:24: error: redefinition of ‘struct hash_entry’
   36 | #define HASHENT struct hash_entry
      |                        ^~~~~~~~~~
misc.h:38:1: note: in expansion of macro ‘HASHENT’
   38 | HASHENT {
      | ^~~~~~~
In file included from maildir.c:2691:
misc.h:36:24: note: originally defined here
   36 | #define HASHENT struct hash_entry
      |                        ^~~~~~~~~~
misc.h:38:1: note: in expansion of macro ‘HASHENT’
   38 | HASHENT {
      | ^~~~~~~
In file included from maildir.c:5362:
misc.h:45:24: error: redefinition of ‘struct hash_table’
   45 | #define HASHTAB struct hash_table
      |                        ^~~~~~~~~~
misc.h:47:1: note: in expansion of macro ‘HASHTAB’
   47 | HASHTAB {
      | ^~~~~~~
In file included from maildir.c:2691:
misc.h:45:24: note: originally defined here
   45 | #define HASHTAB struct hash_table
      |                        ^~~~~~~~~~
misc.h:47:1: note: in expansion of macro ‘HASHTAB’
   47 | HASHTAB {
      | ^~~~~~~
In file included from maildir.c:5362:
misc.h:85:7: error: conflicting types for ‘cpytxt’
   85 | char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size);
      |       ^~~~~~
In file included from maildir.c:20:
misc.h:85:7: note: previous declaration of ‘cpytxt’ was here
   85 | char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size);
      |       ^~~~~~
In file included from maildir.c:5362:
misc.h:86:7: error: conflicting types for ‘textcpy’
   86 | char *textcpy (SIZEDTEXT *dst,SIZEDTEXT *src);
      |       ^~~~~~~
In file included from maildir.c:20:
misc.h:86:7: note: previous declaration of ‘textcpy’ was here
   86 | char *textcpy (SIZEDTEXT *dst,SIZEDTEXT *src);
      |       ^~~~~~~
In file included from maildir.c:5362:
misc.h:87:7: error: conflicting types for ‘textcpystring’
   87 | char *textcpystring (SIZEDTEXT *text,STRING *bs);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:87:7: note: previous declaration of ‘textcpystring’ was here
   87 | char *textcpystring (SIZEDTEXT *text,STRING *bs);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:5362:
misc.h:88:7: error: conflicting types for ‘textcpyoffstring’
   88 | char *textcpyoffstring (SIZEDTEXT *text,STRING *bs,unsigned long offset,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:88:7: note: previous declaration of ‘textcpyoffstring’ was here
   88 | char *textcpyoffstring (SIZEDTEXT *text,STRING *bs,unsigned long offset,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:5362:
misc.h:95:10: error: conflicting types for ‘hash_create’
   95 | HASHTAB *hash_create (size_t size);
      |          ^~~~~~~~~~~
In file included from maildir.c:20:
misc.h:95:10: note: previous declaration of ‘hash_create’ was here
   95 | HASHTAB *hash_create (size_t size);
      |          ^~~~~~~~~~~
In file included from maildir.c:5362:
misc.h:96:6: error: conflicting types for ‘hash_destroy’
   96 | void hash_destroy (HASHTAB **hashtab);
      |      ^~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:96:6: note: previous declaration of ‘hash_destroy’ was here
   96 | void hash_destroy (HASHTAB **hashtab);
      |      ^~~~~~~~~~~~
In file included from maildir.c:5362:
misc.h:97:6: error: conflicting types for ‘hash_reset’
   97 | void hash_reset (HASHTAB *hashtab);
      |      ^~~~~~~~~~
In file included from maildir.c:20:
misc.h:97:6: note: previous declaration of ‘hash_reset’ was here
   97 | void hash_reset (HASHTAB *hashtab);
      |      ^~~~~~~~~~
In file included from maildir.c:5362:
misc.h:98:15: error: conflicting types for ‘hash_index’
   98 | unsigned long hash_index (HASHTAB *hashtab,char *key);
      |               ^~~~~~~~~~
In file included from maildir.c:20:
misc.h:98:15: note: previous declaration of ‘hash_index’ was here
   98 | unsigned long hash_index (HASHTAB *hashtab,char *key);
      |               ^~~~~~~~~~
In file included from maildir.c:5362:
misc.h:99:8: error: conflicting types for ‘hash_lookup’
   99 | void **hash_lookup (HASHTAB *hashtab,char *key);
      |        ^~~~~~~~~~~
In file included from maildir.c:20:
misc.h:99:8: note: previous declaration of ‘hash_lookup’ was here
   99 | void **hash_lookup (HASHTAB *hashtab,char *key);
      |        ^~~~~~~~~~~
In file included from maildir.c:5362:
misc.h:100:10: error: conflicting types for ‘hash_add’
  100 | HASHENT *hash_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |          ^~~~~~~~
In file included from maildir.c:20:
misc.h:100:10: note: previous declaration of ‘hash_add’ was here
  100 | HASHENT *hash_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |          ^~~~~~~~
In file included from maildir.c:5362:
misc.h:101:8: error: conflicting types for ‘hash_lookup_and_add’
  101 | void **hash_lookup_and_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |        ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:101:8: note: previous declaration of ‘hash_lookup_and_add’ was here
  101 | void **hash_lookup_and_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |        ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5362:
misc.h:107:5: error: conflicting types for ‘compare_csizedtext’
  107 | int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2);
      |     ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:107:5: note: previous declaration of ‘compare_csizedtext’ was here
  107 | int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2);
      |     ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5363:
dummy.h:31:6: error: conflicting types for ‘dummy_scan’
   31 | void dummy_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~~
In file included from maildir.c:21:
dummy.h:31:6: note: previous declaration of ‘dummy_scan’ was here
   31 | void dummy_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~~
In file included from maildir.c:5363:
dummy.h:32:6: error: conflicting types for ‘dummy_list’
   32 | void dummy_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:21:
dummy.h:32:6: note: previous declaration of ‘dummy_list’ was here
   32 | void dummy_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:5363:
dummy.h:33:6: error: conflicting types for ‘dummy_lsub’
   33 | void dummy_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:21:
dummy.h:33:6: note: previous declaration of ‘dummy_lsub’ was here
   33 | void dummy_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:5363:
dummy.h:34:6: error: conflicting types for ‘scan_contents’
   34 | long scan_contents (DRIVER *dtb,char *name,char *contents,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:34:6: note: previous declaration of ‘scan_contents’ was here
   34 | long scan_contents (DRIVER *dtb,char *name,char *contents,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5363:
dummy.h:38:6: error: conflicting types for ‘dummy_create’
   38 | long dummy_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:38:6: note: previous declaration of ‘dummy_create’ was here
   38 | long dummy_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:5363:
dummy.h:39:6: error: conflicting types for ‘dummy_create_path’
   39 | long dummy_create_path (MAILSTREAM *stream,char *path,long dirmode);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:39:6: note: previous declaration of ‘dummy_create_path’ was here
   39 | long dummy_create_path (MAILSTREAM *stream,char *path,long dirmode);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5363:
dummy.h:40:6: error: conflicting types for ‘dummy_delete’
   40 | long dummy_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:40:6: note: previous declaration of ‘dummy_delete’ was here
   40 | long dummy_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:5363:
dummy.h:41:6: error: conflicting types for ‘dummy_rename’
   41 | long dummy_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:41:6: note: previous declaration of ‘dummy_rename’ was here
   41 | long dummy_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:13:12: error: redefinition of ‘sep1’
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:14:12: error: redefinition of ‘sep2’
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:15:12: error: redefinition of ‘sep3’
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:17:13: error: redefinition of ‘sep’
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:5364:
maildir.h:22:16: error: redeclaration of enumerator ‘Draft’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
In file included from maildir.c:2693:
maildir.h:700:16: note: previous definition of ‘Draft’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
In file included from maildir.c:5364:
maildir.h:22:23: error: redeclaration of enumerator ‘Flagged’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
In file included from maildir.c:2693:
maildir.h:700:23: note: previous definition of ‘Flagged’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
In file included from maildir.c:5364:
maildir.h:22:32: error: redeclaration of enumerator ‘Passed’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
In file included from maildir.c:2693:
maildir.h:700:32: note: previous definition of ‘Passed’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
In file included from maildir.c:5364:
maildir.h:22:40: error: redeclaration of enumerator ‘Replied’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
In file included from maildir.c:2693:
maildir.h:700:40: note: previous definition of ‘Replied’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
In file included from maildir.c:5364:
maildir.h:22:49: error: redeclaration of enumerator ‘Seen’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
In file included from maildir.c:2693:
maildir.h:700:49: note: previous definition of ‘Seen’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
In file included from maildir.c:5364:
maildir.h:22:55: error: redeclaration of enumerator ‘Trashed’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
In file included from maildir.c:2693:
maildir.h:700:55: note: previous definition of ‘Trashed’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
In file included from maildir.c:5364:
maildir.h:23:9: error: redeclaration of enumerator ‘EmptyFlag’
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
In file included from maildir.c:2693:
maildir.h:701:9: note: previous definition of ‘EmptyFlag’ was here
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
In file included from maildir.c:5364:
maildir.h:23:20: error: redeclaration of enumerator ‘EndFlags’
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
In file included from maildir.c:2693:
maildir.h:701:20: note: previous definition of ‘EndFlags’ was here
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
In file included from maildir.c:5364:
maildir.h:23:30: error: conflicting types for ‘MdFlagNamesType’
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:701:30: note: previous declaration of ‘MdFlagNamesType’ was here
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:24:11: error: redefinition of ‘mdimapflags’
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:25:11: error: redefinition of ‘mdkwdflags’
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:28:13: error: redefinition of ‘mdflags’
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:5364:
maildir.h:30:12: error: redefinition of ‘cmdflags’
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:5364:
maildir.h:38:15: error: redeclaration of enumerator ‘Cur’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
In file included from maildir.c:2693:
maildir.h:716:15: note: previous definition of ‘Cur’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
In file included from maildir.c:5364:
maildir.h:38:20: error: redeclaration of enumerator ‘Tmp’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
In file included from maildir.c:2693:
maildir.h:716:20: note: previous definition of ‘Tmp’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
In file included from maildir.c:5364:
maildir.h:38:25: error: redeclaration of enumerator ‘New’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
In file included from maildir.c:2693:
maildir.h:716:25: note: previous definition of ‘New’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
In file included from maildir.c:5364:
maildir.h:38:30: error: redeclaration of enumerator ‘EndDir’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
In file included from maildir.c:2693:
maildir.h:716:30: note: previous definition of ‘EndDir’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
In file included from maildir.c:5364:
maildir.h:38:38: error: conflicting types for ‘DirNamesType’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:716:38: note: previous declaration of ‘DirNamesType’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:39:7: error: redefinition of ‘mdstruct’
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:5364:
maildir.h:71:12: error: redefinition of ‘mduid’
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:5364:
maildir.h:76:6: error: redefinition of ‘mdlocaldomain’
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:77:7: error: redefinition of ‘mypid’
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:5364:
maildir.h:78:14: error: redefinition of ‘mdfpath’
   78 | static char *mdfpath = NULL;
      |              ^~~~~~~
In file included from maildir.c:2693:
maildir.h:756:14: note: previous definition of ‘mdfpath’ was here
  756 | static char *mdfpath = NULL;
      |              ^~~~~~~
In file included from maildir.c:5364:
maildir.h:79:13: error: redefinition of ‘myMdInboxDir’
   79 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:757:13: note: previous definition of ‘myMdInboxDir’ was here
  757 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:80:13: error: redefinition of ‘CourierStyle’
   80 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:758:13: note: previous definition of ‘CourierStyle’ was here
  758 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:84:16: error: redefinition of ‘struct courier_local’
   84 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:762:16: note: originally defined here
  762 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:87:3: error: conflicting types for ‘COURIERLOCAL’
   87 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:765:3: note: previous declaration of ‘COURIERLOCAL’ was here
  765 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:89:16: error: redefinition of ‘struct courier’
   89 | typedef struct courier {
      |                ^~~~~~~
In file included from maildir.c:2693:
maildir.h:767:16: note: originally defined here
  767 | typedef struct courier {
      |                ^~~~~~~
In file included from maildir.c:5364:
maildir.h:94:3: error: conflicting types for ‘COURIER_S’
   94 | } COURIER_S;
      |   ^~~~~~~~~
In file included from maildir.c:2693:
maildir.h:772:3: note: previous declaration of ‘COURIER_S’ was here
  772 | } COURIER_S;
      |   ^~~~~~~~~
In file included from maildir.c:5364:
maildir.h:97:16: error: redefinition of ‘struct maildir_local’
   97 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:775:16: note: originally defined here
  775 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:109:3: error: conflicting types for ‘MAILDIRLOCAL’
  109 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:787:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  787 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:114:16: error: redefinition of ‘struct maildir_file_info’
  114 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:792:16: note: originally defined here
  792 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:122:3: error: conflicting types for ‘MAILDIRFILE’
  122 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
In file included from maildir.c:2693:
maildir.h:800:3: note: previous declaration of ‘MAILDIRFILE’ was here
  800 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:134:9: error: conflicting types for ‘maildir_valid’
  134 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:135:13: error: conflicting types for ‘maildir_open’
  135 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:136:6: error: conflicting types for ‘maildir_close’
  136 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:137:6: error: conflicting types for ‘maildir_ping’
  137 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:138:6: error: conflicting types for ‘maildir_check’
  138 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:139:6: error: conflicting types for ‘maildir_text’
  139 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:140:7: error: conflicting types for ‘maildir_header’
  140 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:142:6: error: conflicting types for ‘maildir_list’
  142 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:145:6: error: conflicting types for ‘maildir_create’
  145 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:146:6: error: conflicting types for ‘maildir_flagmsg’
  146 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:147:6: error: conflicting types for ‘maildir_expunge’
  147 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:148:6: error: conflicting types for ‘maildir_copy’
  148 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:149:6: error: conflicting types for ‘maildir_append’
  149 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:150:6: error: conflicting types for ‘maildir_delete’
  150 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:151:6: error: conflicting types for ‘maildir_rename’
  151 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:152:6: error: conflicting types for ‘maildir_sub’
  152 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:153:6: error: conflicting types for ‘maildir_unsub’
  153 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:154:6: error: conflicting types for ‘maildir_lsub’
  154 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:155:6: error: conflicting types for ‘courier_list’
  155 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:168:6: error: conflicting types for ‘maildir_list_work’
  168 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:169:6: error: conflicting types for ‘courier_list_work’
  169 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:174:5: error: conflicting types for ‘maildir_message_exists’
  174 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:176:7: error: conflicting types for ‘maildir_text_work’
  176 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:177:16: error: conflicting types for ‘maildir_parse_message’
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:184:6: error: conflicting types for ‘maildir_parse_folder’
  184 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:188:7: error: conflicting types for ‘maildir_initial_check’
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:189:16: error: conflicting types for ‘maildir_parse_dir’
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:196:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  196 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:197:6: error: conflicting types for ‘maildir_abort’
  197 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:202:6: error: conflicting types for ‘maildir_get_file’
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:206:6: error: conflicting types for ‘maildir_get_date’
  206 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:207:6: error: conflicting types for ‘maildir_fast’
  207 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:210:6: error: conflicting types for ‘courier_free_cdir’
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:211:12: error: conflicting types for ‘courier_get_cdir’
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:212:5: error: conflicting types for ‘courier_search_list’
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:213:12: error: conflicting types for ‘courier_list_dir’
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:214:6: error: conflicting types for ‘courier_list_info’
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:217:5: error: conflicting types for ‘maildir_can_assign_uid’
  217 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:218:6: error: conflicting types for ‘maildir_read_uid’
  218 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:220:6: error: conflicting types for ‘maildir_write_uid’
  220 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:223:6: error: conflicting types for ‘maildir_delete_uid’
  223 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:224:6: error: conflicting types for ‘maildir_assign_uid’
  224 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:225:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  225 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:239:12: error: redefinition of ‘sep1’
  239 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:240:12: error: redefinition of ‘sep2’
  240 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:241:12: error: redefinition of ‘sep3’
  241 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:243:13: error: redefinition of ‘sep’
  243 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:5364:
maildir.h:248:16: error: redeclaration of enumerator ‘Draft’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:22:16: note: previous definition of ‘Draft’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:248:23: error: redeclaration of enumerator ‘Flagged’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:22:23: note: previous definition of ‘Flagged’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:248:32: error: redeclaration of enumerator ‘Passed’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:22:32: note: previous definition of ‘Passed’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:248:40: error: redeclaration of enumerator ‘Replied’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:22:40: note: previous definition of ‘Replied’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:248:49: error: redeclaration of enumerator ‘Seen’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:22:49: note: previous definition of ‘Seen’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:248:55: error: redeclaration of enumerator ‘Trashed’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:22:55: note: previous definition of ‘Trashed’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:249:9: error: redeclaration of enumerator ‘EmptyFlag’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:23:9: note: previous definition of ‘EmptyFlag’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:249:20: error: redeclaration of enumerator ‘EndFlags’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:23:20: note: previous definition of ‘EndFlags’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:249:30: error: conflicting types for ‘MdFlagNamesType’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:23:30: note: previous declaration of ‘MdFlagNamesType’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:250:11: error: redefinition of ‘mdimapflags’
  250 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:251:11: error: redefinition of ‘mdkwdflags’
  251 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:254:13: error: redefinition of ‘mdflags’
  254 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:5364:
maildir.h:256:12: error: redefinition of ‘cmdflags’
  256 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:5364:
maildir.h:264:15: error: redeclaration of enumerator ‘Cur’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:38:15: note: previous definition of ‘Cur’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:264:20: error: redeclaration of enumerator ‘Tmp’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:38:20: note: previous definition of ‘Tmp’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:264:25: error: redeclaration of enumerator ‘New’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:38:25: note: previous definition of ‘New’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:264:30: error: redeclaration of enumerator ‘EndDir’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:38:30: note: previous definition of ‘EndDir’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:264:38: error: conflicting types for ‘DirNamesType’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:38:38: note: previous declaration of ‘DirNamesType’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:265:7: error: redefinition of ‘mdstruct’
  265 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:5364:
maildir.h:297:12: error: redefinition of ‘mduid’
  297 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:5364:
maildir.h:302:6: error: redefinition of ‘mdlocaldomain’
  302 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:303:7: error: redefinition of ‘mypid’
  303 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:5364:
maildir.h:304:14: error: redefinition of ‘mdfpath’
  304 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:78:14: note: previous definition of ‘mdfpath’ was here
   78 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:305:13: error: redefinition of ‘myMdInboxDir’
  305 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:79:13: note: previous definition of ‘myMdInboxDir’ was here
   79 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:306:13: error: redefinition of ‘CourierStyle’
  306 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:80:13: note: previous definition of ‘CourierStyle’ was here
   80 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:310:16: error: redefinition of ‘struct courier_local’
  310 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:84:16: note: originally defined here
   84 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:313:3: error: conflicting types for ‘COURIERLOCAL’
  313 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:87:3: note: previous declaration of ‘COURIERLOCAL’ was here
   87 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:315:16: error: redefinition of ‘struct courier’
  315 | typedef struct courier {
      |                ^~~~~~~
maildir.h:89:16: note: originally defined here
   89 | typedef struct courier {
      |                ^~~~~~~
maildir.h:320:3: error: conflicting types for ‘COURIER_S’
  320 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:94:3: note: previous declaration of ‘COURIER_S’ was here
   94 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:323:16: error: redefinition of ‘struct maildir_local’
  323 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:97:16: note: originally defined here
   97 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:335:3: error: conflicting types for ‘MAILDIRLOCAL’
  335 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:109:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  109 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:340:16: error: redefinition of ‘struct maildir_file_info’
  340 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:114:16: note: originally defined here
  114 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:348:3: error: conflicting types for ‘MAILDIRFILE’
  348 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:122:3: note: previous declaration of ‘MAILDIRFILE’ was here
  122 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:360:9: error: conflicting types for ‘maildir_valid’
  360 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:361:13: error: conflicting types for ‘maildir_open’
  361 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:362:6: error: conflicting types for ‘maildir_close’
  362 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:363:6: error: conflicting types for ‘maildir_ping’
  363 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:364:6: error: conflicting types for ‘maildir_check’
  364 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:365:6: error: conflicting types for ‘maildir_text’
  365 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:366:7: error: conflicting types for ‘maildir_header’
  366 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:368:6: error: conflicting types for ‘maildir_list’
  368 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:371:6: error: conflicting types for ‘maildir_create’
  371 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:372:6: error: conflicting types for ‘maildir_flagmsg’
  372 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:373:6: error: conflicting types for ‘maildir_expunge’
  373 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:374:6: error: conflicting types for ‘maildir_copy’
  374 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:375:6: error: conflicting types for ‘maildir_append’
  375 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:376:6: error: conflicting types for ‘maildir_delete’
  376 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:377:6: error: conflicting types for ‘maildir_rename’
  377 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:378:6: error: conflicting types for ‘maildir_sub’
  378 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:379:6: error: conflicting types for ‘maildir_unsub’
  379 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:380:6: error: conflicting types for ‘maildir_lsub’
  380 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:381:6: error: conflicting types for ‘courier_list’
  381 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:394:6: error: conflicting types for ‘maildir_list_work’
  394 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:395:6: error: conflicting types for ‘courier_list_work’
  395 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:400:5: error: conflicting types for ‘maildir_message_exists’
  400 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:402:7: error: conflicting types for ‘maildir_text_work’
  402 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:403:16: error: conflicting types for ‘maildir_parse_message’
  403 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:410:6: error: conflicting types for ‘maildir_parse_folder’
  410 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:414:7: error: conflicting types for ‘maildir_initial_check’
  414 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:415:16: error: conflicting types for ‘maildir_parse_dir’
  415 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:422:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  422 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:423:6: error: conflicting types for ‘maildir_abort’
  423 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:428:6: error: conflicting types for ‘maildir_get_file’
  428 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:432:6: error: conflicting types for ‘maildir_get_date’
  432 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:433:6: error: conflicting types for ‘maildir_fast’
  433 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:436:6: error: conflicting types for ‘courier_free_cdir’
  436 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:437:12: error: conflicting types for ‘courier_get_cdir’
  437 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:438:5: error: conflicting types for ‘courier_search_list’
  438 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:439:12: error: conflicting types for ‘courier_list_dir’
  439 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:440:6: error: conflicting types for ‘courier_list_info’
  440 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:443:5: error: conflicting types for ‘maildir_can_assign_uid’
  443 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:444:6: error: conflicting types for ‘maildir_read_uid’
  444 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:446:6: error: conflicting types for ‘maildir_write_uid’
  446 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:449:6: error: conflicting types for ‘maildir_delete_uid’
  449 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:450:6: error: conflicting types for ‘maildir_assign_uid’
  450 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:451:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  451 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:465:12: error: redefinition of ‘sep1’
  465 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:466:12: error: redefinition of ‘sep2’
  466 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:467:12: error: redefinition of ‘sep3’
  467 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:469:13: error: redefinition of ‘sep’
  469 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:5364:
maildir.h:474:16: error: redeclaration of enumerator ‘Draft’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:248:16: note: previous definition of ‘Draft’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:474:23: error: redeclaration of enumerator ‘Flagged’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:248:23: note: previous definition of ‘Flagged’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:474:32: error: redeclaration of enumerator ‘Passed’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:248:32: note: previous definition of ‘Passed’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:474:40: error: redeclaration of enumerator ‘Replied’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:248:40: note: previous definition of ‘Replied’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:474:49: error: redeclaration of enumerator ‘Seen’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:248:49: note: previous definition of ‘Seen’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:474:55: error: redeclaration of enumerator ‘Trashed’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:248:55: note: previous definition of ‘Trashed’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:475:9: error: redeclaration of enumerator ‘EmptyFlag’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:249:9: note: previous definition of ‘EmptyFlag’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:475:20: error: redeclaration of enumerator ‘EndFlags’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:249:20: note: previous definition of ‘EndFlags’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:475:30: error: conflicting types for ‘MdFlagNamesType’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:249:30: note: previous declaration of ‘MdFlagNamesType’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:476:11: error: redefinition of ‘mdimapflags’
  476 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:477:11: error: redefinition of ‘mdkwdflags’
  477 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:480:13: error: redefinition of ‘mdflags’
  480 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:5364:
maildir.h:482:12: error: redefinition of ‘cmdflags’
  482 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:5364:
maildir.h:490:15: error: redeclaration of enumerator ‘Cur’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:264:15: note: previous definition of ‘Cur’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:490:20: error: redeclaration of enumerator ‘Tmp’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:264:20: note: previous definition of ‘Tmp’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:490:25: error: redeclaration of enumerator ‘New’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:264:25: note: previous definition of ‘New’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:490:30: error: redeclaration of enumerator ‘EndDir’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:264:30: note: previous definition of ‘EndDir’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:490:38: error: conflicting types for ‘DirNamesType’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:264:38: note: previous declaration of ‘DirNamesType’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:491:7: error: redefinition of ‘mdstruct’
  491 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:5364:
maildir.h:523:12: error: redefinition of ‘mduid’
  523 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:5364:
maildir.h:528:6: error: redefinition of ‘mdlocaldomain’
  528 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:529:7: error: redefinition of ‘mypid’
  529 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:5364:
maildir.h:530:14: error: redefinition of ‘mdfpath’
  530 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:304:14: note: previous definition of ‘mdfpath’ was here
  304 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:531:13: error: redefinition of ‘myMdInboxDir’
  531 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:305:13: note: previous definition of ‘myMdInboxDir’ was here
  305 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:532:13: error: redefinition of ‘CourierStyle’
  532 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:306:13: note: previous definition of ‘CourierStyle’ was here
  306 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:536:16: error: redefinition of ‘struct courier_local’
  536 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:310:16: note: originally defined here
  310 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:539:3: error: conflicting types for ‘COURIERLOCAL’
  539 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:313:3: note: previous declaration of ‘COURIERLOCAL’ was here
  313 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:541:16: error: redefinition of ‘struct courier’
  541 | typedef struct courier {
      |                ^~~~~~~
maildir.h:315:16: note: originally defined here
  315 | typedef struct courier {
      |                ^~~~~~~
maildir.h:546:3: error: conflicting types for ‘COURIER_S’
  546 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:320:3: note: previous declaration of ‘COURIER_S’ was here
  320 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:549:16: error: redefinition of ‘struct maildir_local’
  549 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:323:16: note: originally defined here
  323 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:561:3: error: conflicting types for ‘MAILDIRLOCAL’
  561 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:335:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  335 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:566:16: error: redefinition of ‘struct maildir_file_info’
  566 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:340:16: note: originally defined here
  340 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:574:3: error: conflicting types for ‘MAILDIRFILE’
  574 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:348:3: note: previous declaration of ‘MAILDIRFILE’ was here
  348 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:586:9: error: conflicting types for ‘maildir_valid’
  586 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:587:13: error: conflicting types for ‘maildir_open’
  587 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:588:6: error: conflicting types for ‘maildir_close’
  588 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:589:6: error: conflicting types for ‘maildir_ping’
  589 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:590:6: error: conflicting types for ‘maildir_check’
  590 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:591:6: error: conflicting types for ‘maildir_text’
  591 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:592:7: error: conflicting types for ‘maildir_header’
  592 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:594:6: error: conflicting types for ‘maildir_list’
  594 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:597:6: error: conflicting types for ‘maildir_create’
  597 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:598:6: error: conflicting types for ‘maildir_flagmsg’
  598 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:599:6: error: conflicting types for ‘maildir_expunge’
  599 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:600:6: error: conflicting types for ‘maildir_copy’
  600 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:601:6: error: conflicting types for ‘maildir_append’
  601 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:602:6: error: conflicting types for ‘maildir_delete’
  602 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:603:6: error: conflicting types for ‘maildir_rename’
  603 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:604:6: error: conflicting types for ‘maildir_sub’
  604 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:605:6: error: conflicting types for ‘maildir_unsub’
  605 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:606:6: error: conflicting types for ‘maildir_lsub’
  606 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:607:6: error: conflicting types for ‘courier_list’
  607 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:620:6: error: conflicting types for ‘maildir_list_work’
  620 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:621:6: error: conflicting types for ‘courier_list_work’
  621 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:626:5: error: conflicting types for ‘maildir_message_exists’
  626 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:628:7: error: conflicting types for ‘maildir_text_work’
  628 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:629:16: error: conflicting types for ‘maildir_parse_message’
  629 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:636:6: error: conflicting types for ‘maildir_parse_folder’
  636 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:640:7: error: conflicting types for ‘maildir_initial_check’
  640 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:641:16: error: conflicting types for ‘maildir_parse_dir’
  641 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:648:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  648 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:649:6: error: conflicting types for ‘maildir_abort’
  649 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:654:6: error: conflicting types for ‘maildir_get_file’
  654 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:658:6: error: conflicting types for ‘maildir_get_date’
  658 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:659:6: error: conflicting types for ‘maildir_fast’
  659 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:662:6: error: conflicting types for ‘courier_free_cdir’
  662 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:663:12: error: conflicting types for ‘courier_get_cdir’
  663 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:664:5: error: conflicting types for ‘courier_search_list’
  664 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:665:12: error: conflicting types for ‘courier_list_dir’
  665 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:666:6: error: conflicting types for ‘courier_list_info’
  666 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:669:5: error: conflicting types for ‘maildir_can_assign_uid’
  669 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:670:6: error: conflicting types for ‘maildir_read_uid’
  670 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:672:6: error: conflicting types for ‘maildir_write_uid’
  672 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:675:6: error: conflicting types for ‘maildir_delete_uid’
  675 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:676:6: error: conflicting types for ‘maildir_assign_uid’
  676 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:677:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  677 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:691:12: error: redefinition of ‘sep1’
  691 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:692:12: error: redefinition of ‘sep2’
  692 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:693:12: error: redefinition of ‘sep3’
  693 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:5364:
maildir.h:695:13: error: redefinition of ‘sep’
  695 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:5364:
maildir.h:700:16: error: redeclaration of enumerator ‘Draft’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:474:16: note: previous definition of ‘Draft’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:700:23: error: redeclaration of enumerator ‘Flagged’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:474:23: note: previous definition of ‘Flagged’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:700:32: error: redeclaration of enumerator ‘Passed’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:474:32: note: previous definition of ‘Passed’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:700:40: error: redeclaration of enumerator ‘Replied’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:474:40: note: previous definition of ‘Replied’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:700:49: error: redeclaration of enumerator ‘Seen’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:474:49: note: previous definition of ‘Seen’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:700:55: error: redeclaration of enumerator ‘Trashed’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:474:55: note: previous definition of ‘Trashed’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:701:9: error: redeclaration of enumerator ‘EmptyFlag’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:475:9: note: previous definition of ‘EmptyFlag’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:701:20: error: redeclaration of enumerator ‘EndFlags’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:475:20: note: previous definition of ‘EndFlags’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:701:30: error: conflicting types for ‘MdFlagNamesType’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:475:30: note: previous declaration of ‘MdFlagNamesType’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:702:11: error: redefinition of ‘mdimapflags’
  702 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:703:11: error: redefinition of ‘mdkwdflags’
  703 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:706:13: error: redefinition of ‘mdflags’
  706 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:5364:
maildir.h:708:12: error: redefinition of ‘cmdflags’
  708 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:5364:
maildir.h:716:15: error: redeclaration of enumerator ‘Cur’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:490:15: note: previous definition of ‘Cur’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:716:20: error: redeclaration of enumerator ‘Tmp’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:490:20: note: previous definition of ‘Tmp’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:716:25: error: redeclaration of enumerator ‘New’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:490:25: note: previous definition of ‘New’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:716:30: error: redeclaration of enumerator ‘EndDir’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:490:30: note: previous definition of ‘EndDir’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:716:38: error: conflicting types for ‘DirNamesType’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:490:38: note: previous declaration of ‘DirNamesType’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:717:7: error: redefinition of ‘mdstruct’
  717 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:5364:
maildir.h:749:12: error: redefinition of ‘mduid’
  749 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:5364:
maildir.h:754:6: error: redefinition of ‘mdlocaldomain’
  754 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:755:7: error: redefinition of ‘mypid’
  755 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:5364:
maildir.h:756:14: error: redefinition of ‘mdfpath’
  756 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:530:14: note: previous definition of ‘mdfpath’ was here
  530 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:757:13: error: redefinition of ‘myMdInboxDir’
  757 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:531:13: note: previous definition of ‘myMdInboxDir’ was here
  531 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:758:13: error: redefinition of ‘CourierStyle’
  758 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:532:13: note: previous definition of ‘CourierStyle’ was here
  532 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:762:16: error: redefinition of ‘struct courier_local’
  762 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:536:16: note: originally defined here
  536 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:765:3: error: conflicting types for ‘COURIERLOCAL’
  765 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:539:3: note: previous declaration of ‘COURIERLOCAL’ was here
  539 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:767:16: error: redefinition of ‘struct courier’
  767 | typedef struct courier {
      |                ^~~~~~~
maildir.h:541:16: note: originally defined here
  541 | typedef struct courier {
      |                ^~~~~~~
maildir.h:772:3: error: conflicting types for ‘COURIER_S’
  772 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:546:3: note: previous declaration of ‘COURIER_S’ was here
  546 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:775:16: error: redefinition of ‘struct maildir_local’
  775 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:549:16: note: originally defined here
  549 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:787:3: error: conflicting types for ‘MAILDIRLOCAL’
  787 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:561:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  561 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:792:16: error: redefinition of ‘struct maildir_file_info’
  792 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:566:16: note: originally defined here
  566 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:800:3: error: conflicting types for ‘MAILDIRFILE’
  800 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:574:3: note: previous declaration of ‘MAILDIRFILE’ was here
  574 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:812:9: error: conflicting types for ‘maildir_valid’
  812 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:813:13: error: conflicting types for ‘maildir_open’
  813 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:814:6: error: conflicting types for ‘maildir_close’
  814 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:815:6: error: conflicting types for ‘maildir_ping’
  815 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:816:6: error: conflicting types for ‘maildir_check’
  816 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:817:6: error: conflicting types for ‘maildir_text’
  817 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:818:7: error: conflicting types for ‘maildir_header’
  818 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:820:6: error: conflicting types for ‘maildir_list’
  820 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:823:6: error: conflicting types for ‘maildir_create’
  823 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:824:6: error: conflicting types for ‘maildir_flagmsg’
  824 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:825:6: error: conflicting types for ‘maildir_expunge’
  825 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:826:6: error: conflicting types for ‘maildir_copy’
  826 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:827:6: error: conflicting types for ‘maildir_append’
  827 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:828:6: error: conflicting types for ‘maildir_delete’
  828 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:829:6: error: conflicting types for ‘maildir_rename’
  829 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:830:6: error: conflicting types for ‘maildir_sub’
  830 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:831:6: error: conflicting types for ‘maildir_unsub’
  831 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:832:6: error: conflicting types for ‘maildir_lsub’
  832 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:833:6: error: conflicting types for ‘courier_list’
  833 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:846:6: error: conflicting types for ‘maildir_list_work’
  846 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:847:6: error: conflicting types for ‘courier_list_work’
  847 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:852:5: error: conflicting types for ‘maildir_message_exists’
  852 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:854:7: error: conflicting types for ‘maildir_text_work’
  854 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:855:16: error: conflicting types for ‘maildir_parse_message’
  855 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:862:6: error: conflicting types for ‘maildir_parse_folder’
  862 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:866:7: error: conflicting types for ‘maildir_initial_check’
  866 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:867:16: error: conflicting types for ‘maildir_parse_dir’
  867 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:874:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  874 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:875:6: error: conflicting types for ‘maildir_abort’
  875 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:880:6: error: conflicting types for ‘maildir_get_file’
  880 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:884:6: error: conflicting types for ‘maildir_get_date’
  884 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:885:6: error: conflicting types for ‘maildir_fast’
  885 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:888:6: error: conflicting types for ‘courier_free_cdir’
  888 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:889:12: error: conflicting types for ‘courier_get_cdir’
  889 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:890:5: error: conflicting types for ‘courier_search_list’
  890 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:891:12: error: conflicting types for ‘courier_list_dir’
  891 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:892:6: error: conflicting types for ‘courier_list_info’
  892 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:895:5: error: conflicting types for ‘maildir_can_assign_uid’
  895 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:896:6: error: conflicting types for ‘maildir_read_uid’
  896 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:898:6: error: conflicting types for ‘maildir_write_uid’
  898 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:901:6: error: conflicting types for ‘maildir_delete_uid’
  901 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:902:6: error: conflicting types for ‘maildir_assign_uid’
  902 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:903:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  903 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:5367:8: error: conflicting types for ‘maildirdriver’
 5367 | DRIVER maildirdriver = {
      |        ^~~~~~~~~~~~~
maildir.c:25:8: note: previous definition of ‘maildirdriver’ was here
   25 | DRIVER maildirdriver = {
      |        ^~~~~~~~~~~~~
maildir.c:5407:8: error: conflicting types for ‘courierdriver’
 5407 | DRIVER courierdriver = {
      |        ^~~~~~~~~~~~~
maildir.c:65:8: note: previous definition of ‘courierdriver’ was here
   65 | DRIVER courierdriver = {
      |        ^~~~~~~~~~~~~
maildir.c:5446:12: error: conflicting types for ‘maildirproto’
 5446 | MAILSTREAM maildirproto = {&maildirdriver}; /* prototype stream */
      |            ^~~~~~~~~~~~
maildir.c:104:12: note: previous definition of ‘maildirproto’ was here
  104 | MAILSTREAM maildirproto = {&maildirdriver}; /* prototype stream */
      |            ^~~~~~~~~~~~
maildir.c:5446:28: warning: initialization of ‘struct driver *’ from incompatible pointer type ‘struct driver *’ [-Wincompatible-pointer-types]
 5446 | MAILSTREAM maildirproto = {&maildirdriver}; /* prototype stream */
      |                            ^
maildir.c:5446:28: note: (near initialization for ‘maildirproto.dtb’)
maildir.c:5447:12: error: conflicting types for ‘courierproto’
 5447 | MAILSTREAM courierproto = {&courierdriver}; /* prototype stream */
      |            ^~~~~~~~~~~~
maildir.c:105:12: note: previous definition of ‘courierproto’ was here
  105 | MAILSTREAM courierproto = {&courierdriver}; /* prototype stream */
      |            ^~~~~~~~~~~~
maildir.c:5447:28: warning: initialization of ‘struct driver *’ from incompatible pointer type ‘struct driver *’ [-Wincompatible-pointer-types]
 5447 | MAILSTREAM courierproto = {&courierdriver}; /* prototype stream */
      |                            ^
maildir.c:5447:28: note: (near initialization for ‘courierproto.dtb’)
maildir.c:5449:6: error: redefinition of ‘maildir_dirfmttest’
 5449 | long maildir_dirfmttest (char *name)
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:107:6: note: previous definition of ‘maildir_dirfmttest’ was here
  107 | long maildir_dirfmttest (char *name)
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:5459:1: error: redefinition of ‘md_domain_name’
 5459 | md_domain_name(void)
      | ^~~~~~~~~~~~~~
maildir.c:117:1: note: previous definition of ‘md_domain_name’ was here
  117 | md_domain_name(void)
      | ^~~~~~~~~~~~~~
maildir.c:5483:1: error: redefinition of ‘myrootdir’
 5483 | myrootdir(char *name)
      | ^~~~~~~~~
maildir.c:141:1: note: previous definition of ‘myrootdir’ was here
  141 | myrootdir(char *name)
      | ^~~~~~~~~
maildir.c:5489:1: error: redefinition of ‘mdirpath’
 5489 | mdirpath(void)
      | ^~~~~~~~
maildir.c:147:1: note: previous definition of ‘mdirpath’ was here
  147 | mdirpath(void)
      | ^~~~~~~~
maildir.c:5499:1: error: redefinition of ‘maildir_remove_root’
 5499 | maildir_remove_root (char *name)
      | ^~~~~~~~~~~~~~~~~~~
maildir.c:157:1: note: previous definition of ‘maildir_remove_root’ was here
  157 | maildir_remove_root (char *name)
      | ^~~~~~~~~~~~~~~~~~~
maildir.c:5521:5: error: redefinition of ‘maildir_valid_name’
 5521 | int maildir_valid_name (char *name)
      |     ^~~~~~~~~~~~~~~~~~
maildir.c:179:5: note: previous definition of ‘maildir_valid_name’ was here
  179 | int maildir_valid_name (char *name)
      |     ^~~~~~~~~~~~~~~~~~
maildir.c:5537:5: error: redefinition of ‘maildir_valid_dir’
 5537 | int maildir_valid_dir (char *name)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:195:5: note: previous definition of ‘maildir_valid_dir’ was here
  195 | int maildir_valid_dir (char *name)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:5556:6: error: redefinition of ‘courier_realname’
 5556 | void courier_realname(char *name, char *realname)
      |      ^~~~~~~~~~~~~~~~
maildir.c:214:6: note: previous definition of ‘courier_realname’ was here
  214 | void courier_realname(char *name, char *realname)
      |      ^~~~~~~~~~~~~~~~
maildir.c:5578:5: error: redefinition of ‘maildir_file_path’
 5578 | int maildir_file_path (char *name, char *tmp, size_t sizeoftmp)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:236:5: note: previous definition of ‘maildir_file_path’ was here
  236 | int maildir_file_path (char *name, char *tmp, size_t sizeoftmp)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:5628:1: error: redefinition of ‘is_valid_maildir’
 5628 | is_valid_maildir (char **name)
      | ^~~~~~~~~~~~~~~~
maildir.c:286:1: note: previous definition of ‘is_valid_maildir’ was here
  286 | is_valid_maildir (char **name)
      | ^~~~~~~~~~~~~~~~
maildir.c:5641:9: error: conflicting types for ‘maildir_valid’
 5641 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
maildir.c:5651:6: error: conflicting types for ‘maildir_fast’
 5651 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
maildir.c: In function ‘maildir_fast’:
maildir.c:5670:46: warning: passing argument 1 of ‘stream->dtb->header’ from incompatible pointer type [-Wincompatible-pointer-types]
 5670 |           char *ht = (*stream->dtb->header) (stream,i,&hs,NIL);
      |                                              ^~~~~~
      |                                              |
      |                                              MAILSTREAM * {aka struct mail_stream *}
maildir.c:5670:46: note: expected ‘MAILSTREAM *’ {aka ‘struct mail_stream *’} but argument is of type ‘MAILSTREAM *’ {aka ‘struct mail_stream *’}
maildir.c:5675:35: warning: passing argument 1 of ‘stream->dtb->text’ from incompatible pointer type [-Wincompatible-pointer-types]
 5675 |             (*stream->dtb->text) (stream,i,&bs,FT_PEEK);
      |                                   ^~~~~~
      |                                   |
      |                                   MAILSTREAM * {aka struct mail_stream *}
maildir.c:5675:35: note: expected ‘MAILSTREAM *’ {aka ‘struct mail_stream *’} but argument is of type ‘MAILSTREAM *’ {aka ‘struct mail_stream *’}
maildir.c:5675:44: warning: passing argument 3 of ‘stream->dtb->text’ from incompatible pointer type [-Wincompatible-pointer-types]
 5675 |             (*stream->dtb->text) (stream,i,&bs,FT_PEEK);
      |                                            ^~~
      |                                            |
      |                                            STRING * {aka struct mailstring *}
maildir.c:5675:44: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
maildir.c: At top level:
maildir.c:5690:1: error: redefinition of ‘maildir_eliminate_duplicate’
 5690 | maildir_eliminate_duplicate (char *name, struct direct ***flist, unsigned long *nfiles)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:348:1: note: previous definition of ‘maildir_eliminate_duplicate’ was here
  348 | maildir_eliminate_duplicate (char *name, struct direct ***flist, unsigned long *nfiles)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:5741:1: error: redefinition of ‘maildir_doscandir’
 5741 | maildir_doscandir(char *name, struct direct ***flist, int flag)
      | ^~~~~~~~~~~~~~~~~
maildir.c:399:1: note: previous definition of ‘maildir_doscandir’ was here
  399 | maildir_doscandir(char *name, struct direct ***flist, int flag)
      | ^~~~~~~~~~~~~~~~~
maildir.c:5753:1: error: redefinition of ‘maildir_scandir’
 5753 | maildir_scandir (char *name, struct direct ***flist,
      | ^~~~~~~~~~~~~~~
maildir.c:411:1: note: previous definition of ‘maildir_scandir’ was here
  411 | maildir_scandir (char *name, struct direct ***flist,
      | ^~~~~~~~~~~~~~~
maildir.c:5783:5: error: conflicting types for ‘maildir_message_exists’
 5783 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:5813:13: error: conflicting types for ‘maildir_open’
 5813 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
maildir.c:5868:1: error: conflicting types for ‘maildir_parse_folder’
 5868 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:5966:1: error: conflicting types for ‘maildir_initial_check’
 5966 | maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype)
      | ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
maildir.c:5988:1: error: conflicting types for ‘maildir_parse_dir’
 5988 | maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
maildir.c:6122:6: error: conflicting types for ‘maildir_ping’
 6122 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
maildir.c:6136:5: error: redefinition of ‘maildir_select’
 6136 | int maildir_select (const struct direct *name)
      |     ^~~~~~~~~~~~~~
maildir.c:794:5: note: previous definition of ‘maildir_select’ was here
  794 | int maildir_select (const struct direct *name)
      |     ^~~~~~~~~~~~~~
maildir.c:6147:5: error: redefinition of ‘maildir_namesort’
 6147 | int maildir_namesort (const struct direct **d1, const struct direct **d2)
      |     ^~~~~~~~~~~~~~~~
maildir.c:805:5: note: previous definition of ‘maildir_namesort’ was here
  805 | int maildir_namesort (const struct direct **d1, const struct direct **d2)
      |     ^~~~~~~~~~~~~~~~
maildir.c:6157:6: error: conflicting types for ‘maildir_close’
 6157 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
maildir.c:6177:6: error: conflicting types for ‘maildir_check’
 6177 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
maildir.c:6182:6: error: conflicting types for ‘maildir_text’
 6182 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5355:
maildir.c: In function ‘maildir_text’:
mail.h:964:42: warning: assignment to ‘struct string_driver *’ from incompatible pointer type ‘struct string_driver *’ [-Wincompatible-pointer-types]
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                          ^
maildir.c:6203:6: note: in expansion of macro ‘INIT’
 6203 |      INIT (bs, mail_string, "", 0);
      |      ^~~~
maildir.c:6203:12: warning: passing argument 1 of ‘(bs->dtb = (struct string_driver *)&mail_string)->init’ from incompatible pointer type [-Wincompatible-pointer-types]
 6203 |      INIT (bs, mail_string, "", 0);
      |            ^~
      |            |
      |            STRING * {aka struct mailstring *}
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c:6203:12: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 6203 |      INIT (bs, mail_string, "", 0);
      |            ^~
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
mail.h:964:42: warning: assignment to ‘struct string_driver *’ from incompatible pointer type ‘struct string_driver *’ [-Wincompatible-pointer-types]
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                          ^
maildir.c:6209:3: note: in expansion of macro ‘INIT’
 6209 |   INIT (bs, mail_string, s, i);
      |   ^~~~
maildir.c:6209:9: warning: passing argument 1 of ‘(bs->dtb = (struct string_driver *)&mail_string)->init’ from incompatible pointer type [-Wincompatible-pointer-types]
 6209 |   INIT (bs, mail_string, s, i);
      |         ^~
      |         |
      |         STRING * {aka struct mailstring *}
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c:6209:9: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 6209 |   INIT (bs, mail_string, s, i);
      |         ^~
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c: At top level:
maildir.c:6213:7: error: conflicting types for ‘maildir_text_work’
 6213 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
maildir.c: In function ‘maildir_text_work’:
mail.h:964:42: warning: assignment to ‘struct string_driver *’ from incompatible pointer type ‘struct string_driver *’ [-Wincompatible-pointer-types]
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                          ^
maildir.c:6261:5: note: in expansion of macro ‘INIT’
 6261 |     INIT (&bs,fd_string,&d,elt->private.msg.text.text.size);
      |     ^~~~
maildir.c:6261:11: warning: passing argument 1 of ‘(bs.dtb = (struct string_driver *)&fd_string)->init’ from incompatible pointer type [-Wincompatible-pointer-types]
 6261 |     INIT (&bs,fd_string,&d,elt->private.msg.text.text.size);
      |           ^~~
      |           |
      |           STRING * {aka struct mailstring *}
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c:6261:11: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 6261 |     INIT (&bs,fd_string,&d,elt->private.msg.text.text.size);
      |           ^~~
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c:6264:19: warning: passing argument 1 of ‘bs.dtb->next’ from incompatible pointer type [-Wincompatible-pointer-types]
 6264 |       *s++ = SNX (&bs);         /* copy it and any succeeding LF */
      |                   ^~~
      |                   |
      |                   STRING * {aka struct mailstring *}
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:6264:19: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 6264 |       *s++ = SNX (&bs);         /* copy it and any succeeding LF */
      |                   ^~~
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:6265:58: warning: passing argument 1 of ‘bs.dtb->next’ from incompatible pointer type [-Wincompatible-pointer-types]
 6265 |       if (SIZE (&bs) && (CHR (&bs) == '\n')) *s++ = SNX (&bs);
      |                                                          ^~~
      |                                                          |
      |                                                          STRING * {aka struct mailstring *}
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:6265:58: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 6265 |       if (SIZE (&bs) && (CHR (&bs) == '\n')) *s++ = SNX (&bs);
      |                                                          ^~~
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:6270:19: warning: passing argument 1 of ‘bs.dtb->next’ from incompatible pointer type [-Wincompatible-pointer-types]
 6270 |       *s++ = SNX (&bs);         /* copy characters */
      |                   ^~~
      |                   |
      |                   STRING * {aka struct mailstring *}
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:6270:19: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 6270 |       *s++ = SNX (&bs);         /* copy characters */
      |                   ^~~
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c: At top level:
maildir.c:6280:15: error: conflicting types for ‘maildir_parse_message’
 6280 | unsigned long maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |               ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
maildir.c:6324:1: error: conflicting types for ‘maildir_update_elt_maildirp’
 6324 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:6365:7: error: conflicting types for ‘maildir_header’
 6365 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:6426:6: error: conflicting types for ‘maildir_list’
 6426 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
maildir.c:6466:6: error: conflicting types for ‘courier_list’
 6466 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
maildir.c:6475:7: error: redefinition of ‘maildir_parameters’
 6475 | void *maildir_parameters (long function, void *value)
      |       ^~~~~~~~~~~~~~~~~~
maildir.c:1133:7: note: previous definition of ‘maildir_parameters’ was here
 1133 | void *maildir_parameters (long function, void *value)
      |       ^~~~~~~~~~~~~~~~~~
maildir.c:6502:5: error: redefinition of ‘maildir_create_folder’
 6502 | int maildir_create_folder(char *mailbox)
      |     ^~~~~~~~~~~~~~~~~~~~~
maildir.c:1160:5: note: previous definition of ‘maildir_create_folder’ was here
 1160 | int maildir_create_folder(char *mailbox)
      |     ^~~~~~~~~~~~~~~~~~~~~
maildir.c:6518:5: error: redefinition of ‘maildir_create_work’
 6518 | int maildir_create_work(char *mailbox, int loop)
      |     ^~~~~~~~~~~~~~~~~~~
maildir.c:1176:5: note: previous definition of ‘maildir_create_work’ was here
 1176 | int maildir_create_work(char *mailbox, int loop)
      |     ^~~~~~~~~~~~~~~~~~~
maildir.c:6593:6: error: conflicting types for ‘maildir_create’
 6593 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
maildir.c:6614:6: error: conflicting types for ‘maildir_flagmsg’
 6614 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
maildir.c:6655:6: error: conflicting types for ‘maildir_expunge’
 6655 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
maildir.c:6703:6: error: conflicting types for ‘maildir_copy’
 6703 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:5355:
maildir.c: In function ‘maildir_copy’:
mail.h:964:42: warning: assignment to ‘struct string_driver *’ from incompatible pointer type ‘struct string_driver *’ [-Wincompatible-pointer-types]
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                          ^
maildir.c:6729:9: note: in expansion of macro ‘INIT’
 6729 |         INIT (&st,mail_string, LOCAL->buf, len);
      |         ^~~~
maildir.c:6729:15: warning: passing argument 1 of ‘(st.dtb = (struct string_driver *)&mail_string)->init’ from incompatible pointer type [-Wincompatible-pointer-types]
 6729 |         INIT (&st,mail_string, LOCAL->buf, len);
      |               ^~~
      |               |
      |               STRING * {aka struct mailstring *}
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c:6729:15: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 6729 |         INIT (&st,mail_string, LOCAL->buf, len);
      |               ^~~
mail.h:964:56: note: in definition of macro ‘INIT’
  964 | #define INIT(s,d,data,size) ((*((s)->dtb = &d)->init) (s,data,size))
      |                                                        ^
maildir.c: At top level:
maildir.c:6749:6: error: conflicting types for ‘maildir_append’
 6749 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
maildir.c: In function ‘maildir_append’:
maildir.c:6842:21: warning: passing argument 1 of ‘message->dtb->next’ from incompatible pointer type [-Wincompatible-pointer-types]
 6842 |       if ((c = SNX (message)) != '\015') s[size++] = c;
      |                     ^~~~~~~
      |                     |
      |                     STRING * {aka struct mailstring *}
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c:6842:21: note: expected ‘STRING *’ {aka ‘struct mailstring *’} but argument is of type ‘STRING *’ {aka ‘struct mailstring *’}
 6842 |       if ((c = SNX (message)) != '\015') s[size++] = c;
      |                     ^~~~~~~
mail.h:967:70: note: in definition of macro ‘SNX’
  967 | #define SNX(s) (--(s)->cursize ? *(s)->curpos++ : (*(s)->dtb->next) (s))
      |                                                                      ^
maildir.c: At top level:
maildir.c:6872:6: error: conflicting types for ‘maildir_delete’
 6872 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
maildir.c:6986:6: error: conflicting types for ‘maildir_rename’
 6986 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
maildir.c:7047:6: error: conflicting types for ‘maildir_sub’
 7047 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
maildir.c:7052:6: error: conflicting types for ‘maildir_unsub’
 7052 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
maildir.c:7057:6: error: conflicting types for ‘maildir_lsub’
 7057 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
maildir.c:7068:6: error: redefinition of ‘maildir_canonicalize’
 7068 | long maildir_canonicalize (char *pattern,char *ref,char *pat)
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:1726:6: note: previous definition of ‘maildir_canonicalize’ was here
 1726 | long maildir_canonicalize (char *pattern,char *ref,char *pat)
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:7084:6: error: conflicting types for ‘maildir_list_work’
 7084 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
maildir.c:7153:6: error: conflicting types for ‘courier_list_work’
 7153 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
maildir.c:7219:1: error: redefinition of ‘same_maildir_file’
 7219 | same_maildir_file(char *name1, char *name2)
      | ^~~~~~~~~~~~~~~~~
maildir.c:1877:1: note: previous definition of ‘same_maildir_file’ was here
 1877 | same_maildir_file(char *name1, char *name2)
      | ^~~~~~~~~~~~~~~~~
maildir.c:7238:15: error: redefinition of ‘antoul’
 7238 | unsigned long antoul(char *seed)
      |               ^~~~~~
maildir.c:1896:15: note: previous definition of ‘antoul’ was here
 1896 | unsigned long antoul(char *seed)
      |               ^~~~~~
maildir.c:7267:15: error: redefinition of ‘mdfntoul’
 7267 | unsigned long mdfntoul (char *name)
      |               ^~~~~~~~
maildir.c:1925:15: note: previous definition of ‘mdfntoul’ was here
 1925 | unsigned long mdfntoul (char *name)
      |               ^~~~~~~~
maildir.c:7283:5: error: redefinition of ‘comp_maildir_file’
 7283 | int comp_maildir_file(char *name1, char *name2)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:1941:5: note: previous definition of ‘comp_maildir_file’ was here
 1941 | int comp_maildir_file(char *name1, char *name2)
      |     ^~~~~~~~~~~~~~~~~
maildir.c:7326:1: error: redefinition of ‘maildir_getflag’
 7326 | maildir_getflag(char *name, int *d, int *f, int *r ,int *s, int *t)
      | ^~~~~~~~~~~~~~~
maildir.c:1984:1: note: previous definition of ‘maildir_getflag’ was here
 1984 | maildir_getflag(char *name, int *d, int *f, int *r ,int *s, int *t)
      | ^~~~~~~~~~~~~~~
maildir.c:7374:1: error: redefinition of ‘maildir_message_in_list’
 7374 | maildir_message_in_list(char *msgname, struct direct **names,
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2032:1: note: previous definition of ‘maildir_message_in_list’ was here
 2032 | maildir_message_in_list(char *msgname, struct direct **names,
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:7415:1: error: conflicting types for ‘maildir_abort’
 7415 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
maildir.c:7438:1: error: redefinition of ‘maildir_contains_folder’
 7438 | maildir_contains_folder(char *dirname, char *name)
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2096:1: note: previous definition of ‘maildir_contains_folder’ was here
 2096 | maildir_contains_folder(char *dirname, char *name)
      | ^~~~~~~~~~~~~~~~~~~~~~~
maildir.c:7472:1: error: redefinition of ‘maildir_is_dir’
 7472 | maildir_is_dir(char *dirname, char *name)
      | ^~~~~~~~~~~~~~
maildir.c:2130:1: note: previous definition of ‘maildir_is_dir’ was here
 2130 | maildir_is_dir(char *dirname, char *name)
      | ^~~~~~~~~~~~~~
maildir.c:7489:1: error: redefinition of ‘maildir_dir_is_empty’
 7489 | maildir_dir_is_empty(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:2147:1: note: previous definition of ‘maildir_dir_is_empty’ was here
 2147 | maildir_dir_is_empty(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:7540:1: error: conflicting types for ‘maildir_get_file’
 7540 | maildir_get_file (MAILDIRFILE **mdfile)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
maildir.c:7550:1: error: redefinition of ‘maildir_free_file’
 7550 | maildir_free_file (void **mdfile)
      | ^~~~~~~~~~~~~~~~~
maildir.c:2208:1: note: previous definition of ‘maildir_free_file’ was here
 2208 | maildir_free_file (void **mdfile)
      | ^~~~~~~~~~~~~~~~~
maildir.c:7561:1: error: redefinition of ‘maildir_free_file_only’
 7561 | maildir_free_file_only (void **mdfile)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2219:1: note: previous definition of ‘maildir_free_file_only’ was here
 2219 | maildir_free_file_only (void **mdfile)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:7570:1: error: redefinition of ‘maildir_any_new_msgs’
 7570 | maildir_any_new_msgs(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:2228:1: note: previous definition of ‘maildir_any_new_msgs’ was here
 2228 | maildir_any_new_msgs(char *mailbox)
      | ^~~~~~~~~~~~~~~~~~~~
maildir.c:7594:1: error: conflicting types for ‘maildir_get_date’
 7594 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
maildir.c:7638:5: error: redefinition of ‘courier_dir_select’
 7638 | int courier_dir_select (const struct direct *name)
      |     ^~~~~~~~~~~~~~~~~~
maildir.c:2296:5: note: previous definition of ‘courier_dir_select’ was here
 2296 | int courier_dir_select (const struct direct *name)
      |     ^~~~~~~~~~~~~~~~~~
maildir.c:7644:5: error: redefinition of ‘courier_dir_sort’
 7644 | int courier_dir_sort (const struct direct **d1, const struct direct **d2)
      |     ^~~~~~~~~~~~~~~~
maildir.c:2302:5: note: previous definition of ‘courier_dir_sort’ was here
 2302 | int courier_dir_sort (const struct direct **d1, const struct direct **d2)
      |     ^~~~~~~~~~~~~~~~
maildir.c:7652:6: error: conflicting types for ‘courier_free_cdir’
 7652 | void courier_free_cdir (COURIER_S **cdir)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:7666:12: error: conflicting types for ‘courier_get_cdir’
 7666 | COURIER_S *courier_get_cdir (int total)
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
maildir.c:7678:5: error: conflicting types for ‘courier_search_list’
 7678 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last)
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
maildir.c:7695:12: error: conflicting types for ‘courier_list_dir’
 7695 | COURIER_S *courier_list_dir(char *curdir)
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
maildir.c:7745:1: error: conflicting types for ‘courier_list_info’
 7745 | courier_list_info(COURIER_S **cdirp, char *data, int i)
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:7772:1: error: conflicting types for ‘maildir_can_assign_uid’
 7772 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:7855:1: error: conflicting types for ‘maildir_read_uid’
 7855 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
maildir.c:7912:1: error: conflicting types for ‘maildir_write_uid’
 7912 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
maildir.c:7928:1: error: redefinition of ‘maildir_get_uid’
 7928 | maildir_get_uid(char *name)
      | ^~~~~~~~~~~~~~~
maildir.c:2586:1: note: previous definition of ‘maildir_get_uid’ was here
 2586 | maildir_get_uid(char *name)
      | ^~~~~~~~~~~~~~~
maildir.c:7943:1: error: conflicting types for ‘maildir_delete_uid’
 7943 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:7969:1: error: conflicting types for ‘maildir_assign_uid’
 7969 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
maildir.c:7997:1: error: conflicting types for ‘maildir_uid_renew_tempfile’
 7997 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:674:26: error: redefinition of ‘struct mail_sizedtext’
  674 | #define SIZEDTEXT struct mail_sizedtext
      |                          ^~~~~~~~~~~~~~
mail.h:676:1: note: in expansion of macro ‘SIZEDTEXT’
  676 | SIZEDTEXT {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:674:26: note: originally defined here
  674 | #define SIZEDTEXT struct mail_sizedtext
      |                          ^~~~~~~~~~~~~~
mail.h:676:1: note: in expansion of macro ‘SIZEDTEXT’
  676 | SIZEDTEXT {
      | ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:684:27: error: redefinition of ‘struct string_list’
  684 | #define STRINGLIST struct string_list
      |                           ^~~~~~~~~~~
mail.h:686:1: note: in expansion of macro ‘STRINGLIST’
  686 | STRINGLIST {
      | ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:684:27: note: originally defined here
  684 | #define STRINGLIST struct string_list
      |                           ^~~~~~~~~~~
mail.h:686:1: note: in expansion of macro ‘STRINGLIST’
  686 | STRINGLIST {
      | ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:699:16: error: redefinition of ‘struct net_mailbox’
  699 | typedef struct net_mailbox {
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:699:16: note: originally defined here
  699 | typedef struct net_mailbox {
      |                ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:724:3: error: conflicting types for ‘NETMBX’
  724 | } NETMBX;
      |   ^~~~~~
In file included from maildir.c:5355:
mail.h:724:3: note: previous declaration of ‘NETMBX’ was here
  724 | } NETMBX;
      |   ^~~~~~
In file included from maildir.c:8026:
mail.h:736:24: error: redefinition of ‘struct mail_address’
  736 | #define ADDRESS struct mail_address
      |                        ^~~~~~~~~~~~
mail.h:738:1: note: in expansion of macro ‘ADDRESS’
  738 | ADDRESS {
      | ^~~~~~~
In file included from maildir.c:5355:
mail.h:736:24: note: originally defined here
  736 | #define ADDRESS struct mail_address
      |                        ^~~~~~~~~~~~
mail.h:738:1: note: in expansion of macro ‘ADDRESS’
  738 | ADDRESS {
      | ^~~~~~~
In file included from maildir.c:8026:
mail.h:754:16: error: redefinition of ‘struct mail_envelope’
  754 | typedef struct mail_envelope {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:754:16: note: originally defined here
  754 | typedef struct mail_envelope {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:774:3: error: conflicting types for ‘ENVELOPE’
  774 | } ENVELOPE;
      |   ^~~~~~~~
In file included from maildir.c:5355:
mail.h:774:3: note: previous declaration of ‘ENVELOPE’ was here
  774 | } ENVELOPE;
      |   ^~~~~~~~
In file included from maildir.c:8026:
mail.h:811:25: error: redefinition of ‘struct mail_body_text’
  811 | #define PARTTEXT struct mail_body_text
      |                         ^~~~~~~~~~~~~~
mail.h:815:1: note: in expansion of macro ‘PARTTEXT’
  815 | PARTTEXT {
      | ^~~~~~~~
In file included from maildir.c:5355:
mail.h:811:25: note: originally defined here
  811 | #define PARTTEXT struct mail_body_text
      |                         ^~~~~~~~~~~~~~
mail.h:815:1: note: in expansion of macro ‘PARTTEXT’
  815 | PARTTEXT {
      | ^~~~~~~~
In file included from maildir.c:8026:
mail.h:807:21: error: redefinition of ‘struct mail_bodystruct’
  807 | #define BODY struct mail_bodystruct
      |                     ^~~~~~~~~~~~~~~
mail.h:823:1: note: in expansion of macro ‘BODY’
  823 | BODY {
      | ^~~~
In file included from maildir.c:5355:
mail.h:807:21: note: originally defined here
  807 | #define BODY struct mail_bodystruct
      |                     ^~~~~~~~~~~~~~~
mail.h:823:1: note: in expansion of macro ‘BODY’
  823 | BODY {
      | ^~~~
In file included from maildir.c:8026:
mail.h:809:26: error: redefinition of ‘struct mail_body_parameter’
  809 | #define PARAMETER struct mail_body_parameter
      |                          ^~~~~~~~~~~~~~~~~~~
mail.h:853:1: note: in expansion of macro ‘PARAMETER’
  853 | PARAMETER {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:809:26: note: originally defined here
  809 | #define PARAMETER struct mail_body_parameter
      |                          ^~~~~~~~~~~~~~~~~~~
mail.h:853:1: note: in expansion of macro ‘PARAMETER’
  853 | PARAMETER {
      | ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:810:21: error: redefinition of ‘struct mail_body_part’
  810 | #define PART struct mail_body_part
      |                     ^~~~~~~~~~~~~~
mail.h:862:1: note: in expansion of macro ‘PART’
  862 | PART {
      | ^~~~
In file included from maildir.c:5355:
mail.h:810:21: note: originally defined here
  810 | #define PART struct mail_body_part
      |                     ^~~~~~~~~~~~~~
mail.h:862:1: note: in expansion of macro ‘PART’
  862 | PART {
      | ^~~~
In file included from maildir.c:8026:
mail.h:808:24: error: redefinition of ‘struct mail_body_message’
  808 | #define MESSAGE struct mail_body_message
      |                        ^~~~~~~~~~~~~~~~~
mail.h:870:1: note: in expansion of macro ‘MESSAGE’
  870 | MESSAGE {
      | ^~~~~~~
In file included from maildir.c:5355:
mail.h:808:24: note: originally defined here
  808 | #define MESSAGE struct mail_body_message
      |                        ^~~~~~~~~~~~~~~~~
mail.h:870:1: note: in expansion of macro ‘MESSAGE’
  870 | MESSAGE {
      | ^~~~~~~
In file included from maildir.c:8026:
mail.h:881:16: error: redefinition of ‘struct message_cache’
  881 | typedef struct message_cache {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:881:16: note: originally defined here
  881 | typedef struct message_cache {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:931:3: error: conflicting types for ‘MESSAGECACHE’
  931 | } MESSAGECACHE;
      |   ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:931:3: note: previous declaration of ‘MESSAGECACHE’ was here
  931 | } MESSAGECACHE;
      |   ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:937:16: error: redefinition of ‘struct mailstring’
  937 | typedef struct mailstring {
      |                ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:937:16: note: originally defined here
  937 | typedef struct mailstring {
      |                ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:947:3: error: conflicting types for ‘STRING’
  947 | } STRING;
      |   ^~~~~~
In file included from maildir.c:5355:
mail.h:947:3: note: previous declaration of ‘STRING’ was here
  947 | } STRING;
      |   ^~~~~~
In file included from maildir.c:8026:
mail.h:935:29: error: redefinition of ‘struct string_driver’
  935 | #define STRINGDRIVER struct string_driver
      |                             ^~~~~~~~~~~~~
mail.h:952:1: note: in expansion of macro ‘STRINGDRIVER’
  952 | STRINGDRIVER {
      | ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:935:29: note: originally defined here
  935 | #define STRINGDRIVER struct string_driver
      |                             ^~~~~~~~~~~~~
mail.h:952:1: note: in expansion of macro ‘STRINGDRIVER’
  952 | STRINGDRIVER {
      | ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:974:29: error: redefinition of ‘struct search_header’
  974 | #define SEARCHHEADER struct search_header
      |                             ^~~~~~~~~~~~~
mail.h:980:1: note: in expansion of macro ‘SEARCHHEADER’
  980 | SEARCHHEADER {   /* header search */
      | ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:974:29: note: originally defined here
  974 | #define SEARCHHEADER struct search_header
      |                             ^~~~~~~~~~~~~
mail.h:980:1: note: in expansion of macro ‘SEARCHHEADER’
  980 | SEARCHHEADER {   /* header search */
      | ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:975:26: error: redefinition of ‘struct search_set’
  975 | #define SEARCHSET struct search_set
      |                          ^~~~~~~~~~
mail.h:987:1: note: in expansion of macro ‘SEARCHSET’
  987 | SEARCHSET {   /* message set */
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:975:26: note: originally defined here
  975 | #define SEARCHSET struct search_set
      |                          ^~~~~~~~~~
mail.h:987:1: note: in expansion of macro ‘SEARCHSET’
  987 | SEARCHSET {   /* message set */
      | ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:976:25: error: redefinition of ‘struct search_or’
  976 | #define SEARCHOR struct search_or
      |                         ^~~~~~~~~
mail.h:994:1: note: in expansion of macro ‘SEARCHOR’
  994 | SEARCHOR {
      | ^~~~~~~~
In file included from maildir.c:5355:
mail.h:976:25: note: originally defined here
  976 | #define SEARCHOR struct search_or
      |                         ^~~~~~~~~
mail.h:994:1: note: in expansion of macro ‘SEARCHOR’
  994 | SEARCHOR {
      | ^~~~~~~~
In file included from maildir.c:8026:
mail.h:977:30: error: redefinition of ‘struct search_pgm_list’
  977 | #define SEARCHPGMLIST struct search_pgm_list
      |                              ^~~~~~~~~~~~~~~
mail.h:1001:1: note: in expansion of macro ‘SEARCHPGMLIST’
 1001 | SEARCHPGMLIST {
      | ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:977:30: note: originally defined here
  977 | #define SEARCHPGMLIST struct search_pgm_list
      |                              ^~~~~~~~~~~~~~~
mail.h:1001:1: note: in expansion of macro ‘SEARCHPGMLIST’
 1001 | SEARCHPGMLIST {
      | ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:973:26: error: redefinition of ‘struct search_program’
  973 | #define SEARCHPGM struct search_program
      |                          ^~~~~~~~~~~~~~
mail.h:1006:1: note: in expansion of macro ‘SEARCHPGM’
 1006 | SEARCHPGM {   /* search program */
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:973:26: note: originally defined here
  973 | #define SEARCHPGM struct search_program
      |                          ^~~~~~~~~~~~~~
mail.h:1006:1: note: in expansion of macro ‘SEARCHPGM’
 1006 | SEARCHPGM {   /* search program */
      | ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1058:16: error: redefinition of ‘struct mbx_status’
 1058 | typedef struct mbx_status {
      |                ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1058:16: note: originally defined here
 1058 | typedef struct mbx_status {
      |                ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1065:3: error: conflicting types for ‘MAILSTATUS’
 1065 | } MAILSTATUS;
      |   ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1065:3: note: previous declaration of ‘MAILSTATUS’ was here
 1065 | } MAILSTATUS;
      |   ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1071:24: error: redefinition of ‘struct sort_program’
 1071 | #define SORTPGM struct sort_program
      |                        ^~~~~~~~~~~~
mail.h:1073:1: note: in expansion of macro ‘SORTPGM’
 1073 | SORTPGM {
      | ^~~~~~~
In file included from maildir.c:5355:
mail.h:1071:24: note: originally defined here
 1071 | #define SORTPGM struct sort_program
      |                        ^~~~~~~~~~~~
mail.h:1073:1: note: in expansion of macro ‘SORTPGM’
 1073 | SORTPGM {
      | ^~~~~~~
In file included from maildir.c:8026:
mail.h:1090:26: error: redefinition of ‘struct sort_cache’
 1090 | #define SORTCACHE struct sort_cache
      |                          ^~~~~~~~~~
mail.h:1092:1: note: in expansion of macro ‘SORTCACHE’
 1092 | SORTCACHE {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1090:26: note: originally defined here
 1090 | #define SORTCACHE struct sort_cache
      |                          ^~~~~~~~~~
mail.h:1092:1: note: in expansion of macro ‘SORTCACHE’
 1092 | SORTCACHE {
      | ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1113:24: error: redefinition of ‘struct acl_list’
 1113 | #define ACLLIST struct acl_list
      |                        ^~~~~~~~
mail.h:1115:1: note: in expansion of macro ‘ACLLIST’
 1115 | ACLLIST {
      | ^~~~~~~
In file included from maildir.c:5355:
mail.h:1113:24: note: originally defined here
 1113 | #define ACLLIST struct acl_list
      |                        ^~~~~~~~
mail.h:1115:1: note: in expansion of macro ‘ACLLIST’
 1115 | ACLLIST {
      | ^~~~~~~
In file included from maildir.c:8026:
mail.h:1123:26: error: redefinition of ‘struct quota_list’
 1123 | #define QUOTALIST struct quota_list
      |                          ^~~~~~~~~~
mail.h:1125:1: note: in expansion of macro ‘QUOTALIST’
 1125 | QUOTALIST {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1123:26: note: originally defined here
 1123 | #define QUOTALIST struct quota_list
      |                          ^~~~~~~~~~
mail.h:1125:1: note: in expansion of macro ‘QUOTALIST’
 1125 | QUOTALIST {
      | ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1134:23: error: redefinition of ‘struct id_list’
 1134 | #define IDLIST struct id_list
      |                       ^~~~~~~
mail.h:1136:1: note: in expansion of macro ‘IDLIST’
 1136 | IDLIST {
      | ^~~~~~
In file included from maildir.c:5355:
mail.h:1134:23: note: originally defined here
 1134 | #define IDLIST struct id_list
      |                       ^~~~~~~
mail.h:1136:1: note: in expansion of macro ‘IDLIST’
 1136 | IDLIST {
      | ^~~~~~
In file included from maildir.c:8026:
mail.h:1152:16: error: redefinition of ‘struct mail_stream’
 1152 | typedef struct mail_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1152:16: note: originally defined here
 1152 | typedef struct mail_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1217:3: error: conflicting types for ‘MAILSTREAM’
 1217 | } MAILSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1217:3: note: previous declaration of ‘MAILSTREAM’ was here
 1217 | } MAILSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1221:16: error: redefinition of ‘struct mail_stream_handle’
 1221 | typedef struct mail_stream_handle {
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1221:16: note: originally defined here
 1221 | typedef struct mail_stream_handle {
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1224:3: error: conflicting types for ‘MAILHANDLE’
 1224 | } MAILHANDLE;
      |   ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1224:3: note: previous declaration of ‘MAILHANDLE’ was here
 1224 | } MAILHANDLE;
      |   ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1229:16: error: redefinition of ‘struct mail_overview’
 1229 | typedef struct mail_overview {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1229:16: note: originally defined here
 1229 | typedef struct mail_overview {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1240:3: error: conflicting types for ‘OVERVIEW’
 1240 | } OVERVIEW;
      |   ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1240:3: note: previous declaration of ‘OVERVIEW’ was here
 1240 | } OVERVIEW;
      |   ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1252:16: error: redefinition of ‘struct net_stream’
 1252 | typedef struct net_stream {
      |                ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1252:16: note: originally defined here
 1252 | typedef struct net_stream {
      |                ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1255:3: error: conflicting types for ‘NETSTREAM’
 1255 | } NETSTREAM;
      |   ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1255:3: note: previous declaration of ‘NETSTREAM’ was here
 1255 | } NETSTREAM;
      |   ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1247:26: error: redefinition of ‘struct net_driver’
 1247 | #define NETDRIVER struct net_driver
      |                          ^~~~~~~~~~
mail.h:1260:1: note: in expansion of macro ‘NETDRIVER’
 1260 | NETDRIVER {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1247:26: note: originally defined here
 1247 | #define NETDRIVER struct net_driver
      |                          ^~~~~~~~~~
mail.h:1260:1: note: in expansion of macro ‘NETDRIVER’
 1260 | NETDRIVER {
      | ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1278:16: error: redefinition of ‘struct getsdata’
 1278 | typedef struct getsdata {
      |                ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1278:16: note: originally defined here
 1278 | typedef struct getsdata {
      |                ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1286:3: error: conflicting types for ‘GETS_DATA’
 1286 | } GETS_DATA;
      |   ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1286:3: note: previous declaration of ‘GETS_DATA’ was here
 1286 | } GETS_DATA;
      |   ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1295:16: error: redefinition of ‘struct send_stream’
 1295 | typedef struct send_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1295:16: note: originally defined here
 1295 | typedef struct send_stream {
      |                ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1375:3: error: conflicting types for ‘SENDSTREAM’
 1375 | } SENDSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1375:3: note: previous declaration of ‘SENDSTREAM’ was here
 1375 | } SENDSTREAM;
      |   ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1380:17: error: conflicting types for ‘mailgets_t’
 1380 | typedef char *(*mailgets_t) (readfn_t f,void *stream,unsigned long size,
      |                 ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1380:17: note: previous declaration of ‘mailgets_t’ was here
 1380 | typedef char *(*mailgets_t) (readfn_t f,void *stream,unsigned long size,
      |                 ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1382:17: error: conflicting types for ‘readprogress_t’
 1382 | typedef char *(*readprogress_t) (GETS_DATA *md,unsigned long octets);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1382:17: note: previous declaration of ‘readprogress_t’ was here
 1382 | typedef char *(*readprogress_t) (GETS_DATA *md,unsigned long octets);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1383:17: error: conflicting types for ‘mailcache_t’
 1383 | typedef void *(*mailcache_t) (MAILSTREAM *stream,unsigned long msgno,long op);
      |                 ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1383:17: note: previous declaration of ‘mailcache_t’ was here
 1383 | typedef void *(*mailcache_t) (MAILSTREAM *stream,unsigned long msgno,long op);
      |                 ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1384:16: error: conflicting types for ‘mailproxycopy_t’
 1384 | typedef long (*mailproxycopy_t) (MAILSTREAM *stream,char *sequence,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1384:16: note: previous declaration of ‘mailproxycopy_t’ was here
 1384 | typedef long (*mailproxycopy_t) (MAILSTREAM *stream,char *sequence,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1391:16: error: conflicting types for ‘authclient_t’
 1391 | typedef long (*authclient_t) (authchallenge_t challenger,
      |                ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1391:16: note: previous declaration of ‘authclient_t’ was here
 1391 | typedef long (*authclient_t) (authchallenge_t challenger,
      |                ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1398:16: error: conflicting types for ‘imapenvelope_t’
 1398 | typedef void (*imapenvelope_t) (MAILSTREAM *stream,unsigned long msgno,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1398:16: note: previous declaration of ‘imapenvelope_t’ was here
 1398 | typedef void (*imapenvelope_t) (MAILSTREAM *stream,unsigned long msgno,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1400:17: error: conflicting types for ‘imapreferral_t’
 1400 | typedef char *(*imapreferral_t) (MAILSTREAM *stream,char *url,long code);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1400:17: note: previous declaration of ‘imapreferral_t’ was here
 1400 | typedef char *(*imapreferral_t) (MAILSTREAM *stream,char *url,long code);
      |                 ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1401:16: error: conflicting types for ‘overview_t’
 1401 | typedef void (*overview_t) (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |                ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1401:16: note: previous declaration of ‘overview_t’ was here
 1401 | typedef void (*overview_t) (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |                ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1403:26: error: conflicting types for ‘sorter_t’
 1403 | typedef unsigned long *(*sorter_t) (MAILSTREAM *stream,char *charset,
      |                          ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1403:26: note: previous declaration of ‘sorter_t’ was here
 1403 | typedef unsigned long *(*sorter_t) (MAILSTREAM *stream,char *charset,
      |                          ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1405:16: error: conflicting types for ‘parseline_t’
 1405 | typedef void (*parseline_t) (ENVELOPE *env,char *hdr,char *data,char *host);
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1405:16: note: previous declaration of ‘parseline_t’ was here
 1405 | typedef void (*parseline_t) (ENVELOPE *env,char *hdr,char *data,char *host);
      |                ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1406:20: error: conflicting types for ‘parsephrase_t’
 1406 | typedef ADDRESS *(*parsephrase_t) (char *phrase,char *end,char *host);
      |                    ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1406:20: note: previous declaration of ‘parsephrase_t’ was here
 1406 | typedef ADDRESS *(*parsephrase_t) (char *phrase,char *end,char *host);
      |                    ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1409:16: error: conflicting types for ‘sendcommand_t’
 1409 | typedef void (*sendcommand_t) (MAILSTREAM *stream,char *cmd,long flags);
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1409:16: note: previous declaration of ‘sendcommand_t’ was here
 1409 | typedef void (*sendcommand_t) (MAILSTREAM *stream,char *cmd,long flags);
      |                ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1410:17: error: conflicting types for ‘newsrcquery_t’
 1410 | typedef char *(*newsrcquery_t) (MAILSTREAM *stream,char *mulname,char *name);
      |                 ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1410:17: note: previous declaration of ‘newsrcquery_t’ was here
 1410 | typedef char *(*newsrcquery_t) (MAILSTREAM *stream,char *mulname,char *name);
      |                 ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1411:16: error: conflicting types for ‘getacl_t’
 1411 | typedef void (*getacl_t) (MAILSTREAM *stream,char *mailbox,ACLLIST *acl);
      |                ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1411:16: note: previous declaration of ‘getacl_t’ was here
 1411 | typedef void (*getacl_t) (MAILSTREAM *stream,char *mailbox,ACLLIST *acl);
      |                ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1412:16: error: conflicting types for ‘listrights_t’
 1412 | typedef void (*listrights_t) (MAILSTREAM *stream,char *mailbox,char *id,
      |                ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1412:16: note: previous declaration of ‘listrights_t’ was here
 1412 | typedef void (*listrights_t) (MAILSTREAM *stream,char *mailbox,char *id,
      |                ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1414:16: error: conflicting types for ‘myrights_t’
 1414 | typedef void (*myrights_t) (MAILSTREAM *stream,char *mailbox,char *rights);
      |                ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1414:16: note: previous declaration of ‘myrights_t’ was here
 1414 | typedef void (*myrights_t) (MAILSTREAM *stream,char *mailbox,char *rights);
      |                ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1415:16: error: conflicting types for ‘quota_t’
 1415 | typedef void (*quota_t) (MAILSTREAM *stream,char *qroot,QUOTALIST *qlist);
      |                ^~~~~~~
In file included from maildir.c:5355:
mail.h:1415:16: note: previous declaration of ‘quota_t’ was here
 1415 | typedef void (*quota_t) (MAILSTREAM *stream,char *qroot,QUOTALIST *qlist);
      |                ^~~~~~~
In file included from maildir.c:8026:
mail.h:1416:16: error: conflicting types for ‘quotaroot_t’
 1416 | typedef void (*quotaroot_t) (MAILSTREAM *stream,char *mbx,STRINGLIST *qroot);
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1416:16: note: previous declaration of ‘quotaroot_t’ was here
 1416 | typedef void (*quotaroot_t) (MAILSTREAM *stream,char *mbx,STRINGLIST *qroot);
      |                ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1417:16: error: conflicting types for ‘sortresults_t’
 1417 | typedef void (*sortresults_t) (MAILSTREAM *stream,unsigned long *list,
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1417:16: note: previous declaration of ‘sortresults_t’ was here
 1417 | typedef void (*sortresults_t) (MAILSTREAM *stream,unsigned long *list,
      |                ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1420:16: error: conflicting types for ‘append_t’
 1420 | typedef long (*append_t) (MAILSTREAM *stream,void *data,char **flags,
      |                ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1420:16: note: previous declaration of ‘append_t’ was here
 1420 | typedef long (*append_t) (MAILSTREAM *stream,void *data,char **flags,
      |                ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1422:16: error: conflicting types for ‘copyuid_t’
 1422 | typedef void (*copyuid_t) (MAILSTREAM *stream,char *mailbox,
      |                ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1422:16: note: previous declaration of ‘copyuid_t’ was here
 1422 | typedef void (*copyuid_t) (MAILSTREAM *stream,char *mailbox,
      |                ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1425:16: error: conflicting types for ‘appenduid_t’
 1425 | typedef void (*appenduid_t) (char *mailbox,unsigned long uidvalidity,
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1425:16: note: previous declaration of ‘appenduid_t’ was here
 1425 | typedef void (*appenduid_t) (char *mailbox,unsigned long uidvalidity,
      |                ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1453:27: error: redefinition of ‘struct thread_node’
 1453 | #define THREADNODE struct thread_node
      |                           ^~~~~~~~~~~
mail.h:1455:1: note: in expansion of macro ‘THREADNODE’
 1455 | THREADNODE {
      | ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1453:27: note: originally defined here
 1453 | #define THREADNODE struct thread_node
      |                           ^~~~~~~~~~~
mail.h:1455:1: note: in expansion of macro ‘THREADNODE’
 1455 | THREADNODE {
      | ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1462:16: error: conflicting types for ‘threadresults_t’
 1462 | typedef void (*threadresults_t) (MAILSTREAM *stream,THREADNODE *tree);
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1462:16: note: previous declaration of ‘threadresults_t’ was here
 1462 | typedef void (*threadresults_t) (MAILSTREAM *stream,THREADNODE *tree);
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1467:25: error: redefinition of ‘struct threader_list’
 1467 | #define THREADER struct threader_list
      |                         ^~~~~~~~~~~~~
mail.h:1469:1: note: in expansion of macro ‘THREADER’
 1469 | THREADER {
      | ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1467:25: note: originally defined here
 1467 | #define THREADER struct threader_list
      |                         ^~~~~~~~~~~~~
mail.h:1469:1: note: in expansion of macro ‘THREADER’
 1469 | THREADER {
      | ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1483:26: error: redefinition of ‘struct mail_namespace’
 1483 | #define NAMESPACE struct mail_namespace
      |                          ^~~~~~~~~~~~~~
mail.h:1485:1: note: in expansion of macro ‘NAMESPACE’
 1485 | NAMESPACE {
      | ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1483:26: note: originally defined here
 1483 | #define NAMESPACE struct mail_namespace
      |                          ^~~~~~~~~~~~~~
mail.h:1485:1: note: in expansion of macro ‘NAMESPACE’
 1485 | NAMESPACE {
      | ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1495:30: error: redefinition of ‘struct mail_authenticator’
 1495 | #define AUTHENTICATOR struct mail_authenticator
      |                              ^~~~~~~~~~~~~~~~~~
mail.h:1497:1: note: in expansion of macro ‘AUTHENTICATOR’
 1497 | AUTHENTICATOR {
      | ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1495:30: note: originally defined here
 1495 | #define AUTHENTICATOR struct mail_authenticator
      |                              ^~~~~~~~~~~~~~~~~~
mail.h:1497:1: note: in expansion of macro ‘AUTHENTICATOR’
 1497 | AUTHENTICATOR {
      | ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1147:23: error: redefinition of ‘struct driver’
 1147 | #define DRIVER struct driver
      |                       ^~~~~~
mail.h:1508:1: note: in expansion of macro ‘DRIVER’
 1508 | DRIVER {
      | ^~~~~~
In file included from maildir.c:5355:
mail.h:1147:23: note: originally defined here
 1147 | #define DRIVER struct driver
      |                       ^~~~~~
mail.h:1508:1: note: in expansion of macro ‘DRIVER’
 1508 | DRIVER {
      | ^~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:1:15: error: conflicting types for ‘mboxdriver’
    1 | extern DRIVER mboxdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:1:15: note: previous declaration of ‘mboxdriver’ was here
    1 | extern DRIVER mboxdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:2:15: error: conflicting types for ‘maildirdriver’
    2 | extern DRIVER maildirdriver;
      |               ^~~~~~~~~~~~~
maildir.c:25:8: note: previous definition of ‘maildirdriver’ was here
   25 | DRIVER maildirdriver = {
      |        ^~~~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:3:15: error: conflicting types for ‘courierdriver’
    3 | extern DRIVER courierdriver;
      |               ^~~~~~~~~~~~~
maildir.c:65:8: note: previous definition of ‘courierdriver’ was here
   65 | DRIVER courierdriver = {
      |        ^~~~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:4:15: error: conflicting types for ‘imapdriver’
    4 | extern DRIVER imapdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:4:15: note: previous declaration of ‘imapdriver’ was here
    4 | extern DRIVER imapdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:5:15: error: conflicting types for ‘nntpdriver’
    5 | extern DRIVER nntpdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:5:15: note: previous declaration of ‘nntpdriver’ was here
    5 | extern DRIVER nntpdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:6:15: error: conflicting types for ‘pop3driver’
    6 | extern DRIVER pop3driver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:6:15: note: previous declaration of ‘pop3driver’ was here
    6 | extern DRIVER pop3driver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:7:15: error: conflicting types for ‘mixdriver’
    7 | extern DRIVER mixdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:7:15: note: previous declaration of ‘mixdriver’ was here
    7 | extern DRIVER mixdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:8:15: error: conflicting types for ‘mxdriver’
    8 | extern DRIVER mxdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:8:15: note: previous declaration of ‘mxdriver’ was here
    8 | extern DRIVER mxdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:9:15: error: conflicting types for ‘mbxdriver’
    9 | extern DRIVER mbxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:9:15: note: previous declaration of ‘mbxdriver’ was here
    9 | extern DRIVER mbxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:10:15: error: conflicting types for ‘tenexdriver’
   10 | extern DRIVER tenexdriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:10:15: note: previous declaration of ‘tenexdriver’ was here
   10 | extern DRIVER tenexdriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:11:15: error: conflicting types for ‘mtxdriver’
   11 | extern DRIVER mtxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:11:15: note: previous declaration of ‘mtxdriver’ was here
   11 | extern DRIVER mtxdriver;
      |               ^~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:12:15: error: conflicting types for ‘mhdriver’
   12 | extern DRIVER mhdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:12:15: note: previous declaration of ‘mhdriver’ was here
   12 | extern DRIVER mhdriver;
      |               ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:13:15: error: conflicting types for ‘mmdfdriver’
   13 | extern DRIVER mmdfdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:13:15: note: previous declaration of ‘mmdfdriver’ was here
   13 | extern DRIVER mmdfdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:14:15: error: conflicting types for ‘unixdriver’
   14 | extern DRIVER unixdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:14:15: note: previous declaration of ‘unixdriver’ was here
   14 | extern DRIVER unixdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:15:15: error: conflicting types for ‘newsdriver’
   15 | extern DRIVER newsdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:15:15: note: previous declaration of ‘newsdriver’ was here
   15 | extern DRIVER newsdriver;
      |               ^~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:16:15: error: conflicting types for ‘philedriver’
   16 | extern DRIVER philedriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:16:15: note: previous declaration of ‘philedriver’ was here
   16 | extern DRIVER philedriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:17:15: error: conflicting types for ‘dummydriver’
   17 | extern DRIVER dummydriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:17:15: note: previous declaration of ‘dummydriver’ was here
   17 | extern DRIVER dummydriver;
      |               ^~~~~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:18:22: error: conflicting types for ‘auth_gss’
   18 | extern AUTHENTICATOR auth_gss;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:18:22: note: previous declaration of ‘auth_gss’ was here
   18 | extern AUTHENTICATOR auth_gss;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:19:22: error: conflicting types for ‘auth_ext’
   19 | extern AUTHENTICATOR auth_ext;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:19:22: note: previous declaration of ‘auth_ext’ was here
   19 | extern AUTHENTICATOR auth_ext;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:20:22: error: conflicting types for ‘auth_md5’
   20 | extern AUTHENTICATOR auth_md5;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:20:22: note: previous declaration of ‘auth_md5’ was here
   20 | extern AUTHENTICATOR auth_md5;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:21:22: error: conflicting types for ‘auth_pla’
   21 | extern AUTHENTICATOR auth_pla;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:21:22: note: previous declaration of ‘auth_pla’ was here
   21 | extern AUTHENTICATOR auth_pla;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:22:22: error: conflicting types for ‘auth_log’
   22 | extern AUTHENTICATOR auth_log;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:22:22: note: previous declaration of ‘auth_log’ was here
   22 | extern AUTHENTICATOR auth_log;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:23:22: error: conflicting types for ‘auth_bea’
   23 | extern AUTHENTICATOR auth_bea;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:23:22: note: previous declaration of ‘auth_bea’ was here
   23 | extern AUTHENTICATOR auth_bea;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:8026:
linkage.h:24:22: error: conflicting types for ‘auth_oa2’
   24 | extern AUTHENTICATOR auth_oa2;
      |                      ^~~~~~~~
In file included from mail.h:1588,
                 from maildir.c:13:
linkage.h:24:22: note: previous declaration of ‘auth_oa2’ was here
   24 | extern AUTHENTICATOR auth_oa2;
      |                      ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1672:6: error: conflicting types for ‘mm_searched’
 1672 | void mm_searched (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1672:6: note: previous declaration of ‘mm_searched’ was here
 1672 | void mm_searched (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1673:6: error: conflicting types for ‘mm_exists’
 1673 | void mm_exists (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1673:6: note: previous declaration of ‘mm_exists’ was here
 1673 | void mm_exists (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1674:6: error: conflicting types for ‘mm_expunged’
 1674 | void mm_expunged (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1674:6: note: previous declaration of ‘mm_expunged’ was here
 1674 | void mm_expunged (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1675:6: error: conflicting types for ‘mm_flags’
 1675 | void mm_flags (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~
In file included from maildir.c:13:
mail.h:1675:6: note: previous declaration of ‘mm_flags’ was here
 1675 | void mm_flags (MAILSTREAM *stream,unsigned long number);
      |      ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1676:6: error: conflicting types for ‘mm_notify’
 1676 | void mm_notify (MAILSTREAM *stream,char *string,long errflg);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1676:6: note: previous declaration of ‘mm_notify’ was here
 1676 | void mm_notify (MAILSTREAM *stream,char *string,long errflg);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1677:6: error: conflicting types for ‘mm_list’
 1677 | void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:13:
mail.h:1677:6: note: previous declaration of ‘mm_list’ was here
 1677 | void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:8026:
mail.h:1678:6: error: conflicting types for ‘mm_lsub’
 1678 | void mm_lsub (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:13:
mail.h:1678:6: note: previous declaration of ‘mm_lsub’ was here
 1678 | void mm_lsub (MAILSTREAM *stream,int delimiter,char *name,long attributes);
      |      ^~~~~~~
In file included from maildir.c:8026:
mail.h:1679:6: error: conflicting types for ‘mm_status’
 1679 | void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1679:6: note: previous declaration of ‘mm_status’ was here
 1679 | void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1682:6: error: conflicting types for ‘mm_login’
 1682 | void mm_login (NETMBX *mb,char *user,char **pwd,long trial);
      |      ^~~~~~~~
In file included from maildir.c:13:
mail.h:1682:6: note: previous declaration of ‘mm_login’ was here
 1682 | void mm_login (NETMBX *mb,char *user,char **pwd,long trial);
      |      ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1683:6: error: conflicting types for ‘mm_login_method’
 1683 | void mm_login_method (NETMBX *mb,char *user, void *info,long trial, char *method);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1683:6: note: previous declaration of ‘mm_login_method’ was here
 1683 | void mm_login_method (NETMBX *mb,char *user, void *info,long trial, char *method);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1684:6: error: conflicting types for ‘mm_critical’
 1684 | void mm_critical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1684:6: note: previous declaration of ‘mm_critical’ was here
 1684 | void mm_critical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1685:6: error: conflicting types for ‘mm_nocritical’
 1685 | void mm_nocritical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1685:6: note: previous declaration of ‘mm_nocritical’ was here
 1685 | void mm_nocritical (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1686:6: error: conflicting types for ‘mm_diskerror’
 1686 | long mm_diskerror (MAILSTREAM *stream,long errcode,long serious);
      |      ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1686:6: note: previous declaration of ‘mm_diskerror’ was here
 1686 | long mm_diskerror (MAILSTREAM *stream,long errcode,long serious);
      |      ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1688:7: error: conflicting types for ‘mm_cache’
 1688 | void *mm_cache (MAILSTREAM *stream,unsigned long msgno,long op);
      |       ^~~~~~~~
In file included from maildir.c:13:
mail.h:1688:7: note: previous declaration of ‘mm_cache’ was here
 1688 | void *mm_cache (MAILSTREAM *stream,unsigned long msgno,long op);
      |       ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1690:21: error: conflicting types for ‘mail_string’
 1690 | extern STRINGDRIVER mail_string;
      |                     ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1690:21: note: previous declaration of ‘mail_string’ was here
 1690 | extern STRINGDRIVER mail_string;
      |                     ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1692:6: error: conflicting types for ‘mail_link’
 1692 | void mail_link (DRIVER *driver);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1692:6: note: previous declaration of ‘mail_link’ was here
 1692 | void mail_link (DRIVER *driver);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1693:7: error: conflicting types for ‘mail_parameters’
 1693 | void *mail_parameters (MAILSTREAM *stream,long function,void *value);
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1693:7: note: previous declaration of ‘mail_parameters’ was here
 1693 | void *mail_parameters (MAILSTREAM *stream,long function,void *value);
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1694:9: error: conflicting types for ‘mail_valid’
 1694 | DRIVER *mail_valid (MAILSTREAM *stream,char *mailbox,char *purpose);
      |         ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1694:9: note: previous declaration of ‘mail_valid’ was here
 1694 | DRIVER *mail_valid (MAILSTREAM *stream,char *mailbox,char *purpose);
      |         ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1695:9: error: conflicting types for ‘mail_valid_net’
 1695 | DRIVER *mail_valid_net (char *name,DRIVER *drv,char *host,char *mailbox);
      |         ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1695:9: note: previous declaration of ‘mail_valid_net’ was here
 1695 | DRIVER *mail_valid_net (char *name,DRIVER *drv,char *host,char *mailbox);
      |         ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1696:6: error: conflicting types for ‘mail_valid_net_parse’
 1696 | long mail_valid_net_parse (char *name,NETMBX *mb);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1696:6: note: previous declaration of ‘mail_valid_net_parse’ was here
 1696 | long mail_valid_net_parse (char *name,NETMBX *mb);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1697:6: error: conflicting types for ‘mail_valid_net_parse_work’
 1697 | long mail_valid_net_parse_work (char *name,NETMBX *mb,char *service);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1697:6: note: previous declaration of ‘mail_valid_net_parse_work’ was here
 1697 | long mail_valid_net_parse_work (char *name,NETMBX *mb,char *service);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1698:6: error: conflicting types for ‘mail_scan’
 1698 | void mail_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1698:6: note: previous declaration of ‘mail_scan’ was here
 1698 | void mail_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1699:6: error: conflicting types for ‘mail_list’
 1699 | void mail_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1699:6: note: previous declaration of ‘mail_list’ was here
 1699 | void mail_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1700:6: error: conflicting types for ‘mail_lsub’
 1700 | void mail_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1700:6: note: previous declaration of ‘mail_lsub’ was here
 1700 | void mail_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1701:6: error: conflicting types for ‘mail_subscribe’
 1701 | long mail_subscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1701:6: note: previous declaration of ‘mail_subscribe’ was here
 1701 | long mail_subscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1702:6: error: conflicting types for ‘mail_unsubscribe’
 1702 | long mail_unsubscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1702:6: note: previous declaration of ‘mail_unsubscribe’ was here
 1702 | long mail_unsubscribe (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1703:6: error: conflicting types for ‘mail_create’
 1703 | long mail_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1703:6: note: previous declaration of ‘mail_create’ was here
 1703 | long mail_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1704:6: error: conflicting types for ‘mail_delete’
 1704 | long mail_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1704:6: note: previous declaration of ‘mail_delete’ was here
 1704 | long mail_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1705:6: error: conflicting types for ‘mail_rename’
 1705 | long mail_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1705:6: note: previous declaration of ‘mail_rename’ was here
 1705 | long mail_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1707:6: error: conflicting types for ‘mail_status’
 1707 | long mail_status (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1707:6: note: previous declaration of ‘mail_status’ was here
 1707 | long mail_status (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1708:6: error: conflicting types for ‘mail_status_default’
 1708 | long mail_status_default (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1708:6: note: previous declaration of ‘mail_status_default’ was here
 1708 | long mail_status_default (MAILSTREAM *stream,char *mbx,long flags);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1709:13: error: conflicting types for ‘mail_open’
 1709 | MAILSTREAM *mail_open (MAILSTREAM *stream,char *name,long options);
      |             ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1709:13: note: previous declaration of ‘mail_open’ was here
 1709 | MAILSTREAM *mail_open (MAILSTREAM *stream,char *name,long options);
      |             ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1710:13: error: conflicting types for ‘mail_open_work’
 1710 | MAILSTREAM *mail_open_work (DRIVER *d,MAILSTREAM *stream,char *name,
      |             ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1710:13: note: previous declaration of ‘mail_open_work’ was here
 1710 | MAILSTREAM *mail_open_work (DRIVER *d,MAILSTREAM *stream,char *name,
      |             ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1712:13: error: conflicting types for ‘mail_close_full’
 1712 | MAILSTREAM *mail_close_full (MAILSTREAM *stream,long options);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1712:13: note: previous declaration of ‘mail_close_full’ was here
 1712 | MAILSTREAM *mail_close_full (MAILSTREAM *stream,long options);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1713:13: error: conflicting types for ‘mail_makehandle’
 1713 | MAILHANDLE *mail_makehandle (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1713:13: note: previous declaration of ‘mail_makehandle’ was here
 1713 | MAILHANDLE *mail_makehandle (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1714:6: error: conflicting types for ‘mail_free_handle’
 1714 | void mail_free_handle (MAILHANDLE **handle);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1714:6: note: previous declaration of ‘mail_free_handle’ was here
 1714 | void mail_free_handle (MAILHANDLE **handle);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1715:13: error: conflicting types for ‘mail_stream’
 1715 | MAILSTREAM *mail_stream (MAILHANDLE *handle);
      |             ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1715:13: note: previous declaration of ‘mail_stream’ was here
 1715 | MAILSTREAM *mail_stream (MAILHANDLE *handle);
      |             ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1717:6: error: conflicting types for ‘mail_fetch_fast’
 1717 | void mail_fetch_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1717:6: note: previous declaration of ‘mail_fetch_fast’ was here
 1717 | void mail_fetch_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1718:6: error: conflicting types for ‘mail_fetch_flags’
 1718 | void mail_fetch_flags (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1718:6: note: previous declaration of ‘mail_fetch_flags’ was here
 1718 | void mail_fetch_flags (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1719:6: error: conflicting types for ‘mail_fetch_overview’
 1719 | void mail_fetch_overview (MAILSTREAM *stream,char *sequence,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1719:6: note: previous declaration of ‘mail_fetch_overview’ was here
 1719 | void mail_fetch_overview (MAILSTREAM *stream,char *sequence,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1720:6: error: conflicting types for ‘mail_fetch_overview_sequence’
 1720 | void mail_fetch_overview_sequence (MAILSTREAM *stream,char *sequence,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1720:6: note: previous declaration of ‘mail_fetch_overview_sequence’ was here
 1720 | void mail_fetch_overview_sequence (MAILSTREAM *stream,char *sequence,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1722:6: error: conflicting types for ‘mail_fetch_overview_default’
 1722 | void mail_fetch_overview_default (MAILSTREAM *stream,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1722:6: note: previous declaration of ‘mail_fetch_overview_default’ was here
 1722 | void mail_fetch_overview_default (MAILSTREAM *stream,overview_t ofn);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1723:11: error: conflicting types for ‘mail_fetch_structure’
 1723 | ENVELOPE *mail_fetch_structure (MAILSTREAM *stream,unsigned long msgno,
      |           ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1723:11: note: previous declaration of ‘mail_fetch_structure’ was here
 1723 | ENVELOPE *mail_fetch_structure (MAILSTREAM *stream,unsigned long msgno,
      |           ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1725:7: error: conflicting types for ‘mail_fetch_message’
 1725 | char *mail_fetch_message (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1725:7: note: previous declaration of ‘mail_fetch_message’ was here
 1725 | char *mail_fetch_message (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1727:7: error: conflicting types for ‘mail_fetch_header’
 1727 | char *mail_fetch_header (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1727:7: note: previous declaration of ‘mail_fetch_header’ was here
 1727 | char *mail_fetch_header (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1729:7: error: conflicting types for ‘mail_fetch_text’
 1729 | char *mail_fetch_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1729:7: note: previous declaration of ‘mail_fetch_text’ was here
 1729 | char *mail_fetch_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1731:7: error: conflicting types for ‘mail_fetch_mime’
 1731 | char *mail_fetch_mime (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1731:7: note: previous declaration of ‘mail_fetch_mime’ was here
 1731 | char *mail_fetch_mime (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1733:7: error: conflicting types for ‘mail_fetch_body’
 1733 | char *mail_fetch_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1733:7: note: previous declaration of ‘mail_fetch_body’ was here
 1733 | char *mail_fetch_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |       ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1735:6: error: conflicting types for ‘mail_partial_text’
 1735 | long mail_partial_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1735:6: note: previous declaration of ‘mail_partial_text’ was here
 1735 | long mail_partial_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1737:6: error: conflicting types for ‘mail_partial_body’
 1737 | long mail_partial_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1737:6: note: previous declaration of ‘mail_partial_body’ was here
 1737 | long mail_partial_body (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1739:7: error: conflicting types for ‘mail_fetch_text_return’
 1739 | char *mail_fetch_text_return (GETS_DATA *md,SIZEDTEXT *t,unsigned long *len);
      |       ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1739:7: note: previous declaration of ‘mail_fetch_text_return’ was here
 1739 | char *mail_fetch_text_return (GETS_DATA *md,SIZEDTEXT *t,unsigned long *len);
      |       ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1740:7: error: conflicting types for ‘mail_fetch_string_return’
 1740 | char *mail_fetch_string_return (GETS_DATA *md,STRING *bs,unsigned long i,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1740:7: note: previous declaration of ‘mail_fetch_string_return’ was here
 1740 | char *mail_fetch_string_return (GETS_DATA *md,STRING *bs,unsigned long i,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1743:15: error: conflicting types for ‘mail_uid’
 1743 | unsigned long mail_uid (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:13:
mail.h:1743:15: note: previous declaration of ‘mail_uid’ was here
 1743 | unsigned long mail_uid (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1744:15: error: conflicting types for ‘mail_msgno’
 1744 | unsigned long mail_msgno (MAILSTREAM *stream,unsigned long uid);
      |               ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1744:15: note: previous declaration of ‘mail_msgno’ was here
 1744 | unsigned long mail_msgno (MAILSTREAM *stream,unsigned long uid);
      |               ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1745:6: error: conflicting types for ‘mail_fetchfrom’
 1745 | void mail_fetchfrom (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1745:6: note: previous declaration of ‘mail_fetchfrom’ was here
 1745 | void mail_fetchfrom (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1747:6: error: conflicting types for ‘mail_fetchsubject’
 1747 | void mail_fetchsubject (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1747:6: note: previous declaration of ‘mail_fetchsubject’ was here
 1747 | void mail_fetchsubject (char *s,MAILSTREAM *stream,unsigned long msgno,
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1749:15: error: conflicting types for ‘mail_elt’
 1749 | MESSAGECACHE *mail_elt (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:13:
mail.h:1749:15: note: previous declaration of ‘mail_elt’ was here
 1749 | MESSAGECACHE *mail_elt (MAILSTREAM *stream,unsigned long msgno);
      |               ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1750:6: error: conflicting types for ‘mail_flag’
 1750 | void mail_flag (MAILSTREAM *stream,char *sequence,char *flag,long flags);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1750:6: note: previous declaration of ‘mail_flag’ was here
 1750 | void mail_flag (MAILSTREAM *stream,char *sequence,char *flag,long flags);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1751:6: error: conflicting types for ‘mail_search_full’
 1751 | long mail_search_full (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1751:6: note: previous declaration of ‘mail_search_full’ was here
 1751 | long mail_search_full (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1753:6: error: conflicting types for ‘mail_search_default’
 1753 | long mail_search_default (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1753:6: note: previous declaration of ‘mail_search_default’ was here
 1753 | long mail_search_default (MAILSTREAM *stream,char *charset,SEARCHPGM *pgm,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1755:6: error: conflicting types for ‘mail_ping’
 1755 | long mail_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1755:6: note: previous declaration of ‘mail_ping’ was here
 1755 | long mail_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1756:6: error: conflicting types for ‘mail_check’
 1756 | void mail_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1756:6: note: previous declaration of ‘mail_check’ was here
 1756 | void mail_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1757:6: error: conflicting types for ‘mail_expunge_full’
 1757 | long mail_expunge_full (MAILSTREAM *stream,char *sequence,long options);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1757:6: note: previous declaration of ‘mail_expunge_full’ was here
 1757 | long mail_expunge_full (MAILSTREAM *stream,char *sequence,long options);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1758:6: error: conflicting types for ‘mail_copy_full’
 1758 | long mail_copy_full (MAILSTREAM *stream,char *sequence,char *mailbox,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1758:6: note: previous declaration of ‘mail_copy_full’ was here
 1758 | long mail_copy_full (MAILSTREAM *stream,char *sequence,char *mailbox,
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1760:6: error: conflicting types for ‘mail_append_full’
 1760 | long mail_append_full (MAILSTREAM *stream,char *mailbox,char *flags,char *date,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1760:6: note: previous declaration of ‘mail_append_full’ was here
 1760 | long mail_append_full (MAILSTREAM *stream,char *mailbox,char *flags,char *date,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1762:6: error: conflicting types for ‘mail_append_multiple’
 1762 | long mail_append_multiple (MAILSTREAM *stream,char *mailbox,append_t af,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1762:6: note: previous declaration of ‘mail_append_multiple’ was here
 1762 | long mail_append_multiple (MAILSTREAM *stream,char *mailbox,append_t af,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1764:6: error: conflicting types for ‘mail_gc’
 1764 | void mail_gc (MAILSTREAM *stream,long gcflags);
      |      ^~~~~~~
In file included from maildir.c:13:
mail.h:1764:6: note: previous declaration of ‘mail_gc’ was here
 1764 | void mail_gc (MAILSTREAM *stream,long gcflags);
      |      ^~~~~~~
In file included from maildir.c:8026:
mail.h:1765:6: error: conflicting types for ‘mail_gc_msg’
 1765 | void mail_gc_msg (MESSAGE *msg,long gcflags);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1765:6: note: previous declaration of ‘mail_gc_msg’ was here
 1765 | void mail_gc_msg (MESSAGE *msg,long gcflags);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1766:6: error: conflicting types for ‘mail_gc_body’
 1766 | void mail_gc_body (BODY *body);
      |      ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1766:6: note: previous declaration of ‘mail_gc_body’ was here
 1766 | void mail_gc_body (BODY *body);
      |      ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1768:7: error: conflicting types for ‘mail_body_section’
 1768 | BODY *mail_body_section (BODY *b, unsigned char *section);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1768:7: note: previous declaration of ‘mail_body_section’ was here
 1768 | BODY *mail_body_section (BODY *b, unsigned char *section);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1769:7: error: conflicting types for ‘mail_body’
 1769 | BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1769:7: note: previous declaration of ‘mail_body’ was here
 1769 | BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1771:7: error: conflicting types for ‘mail_date’
 1771 | char *mail_date (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1771:7: note: previous declaration of ‘mail_date’ was here
 1771 | char *mail_date (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1772:7: error: conflicting types for ‘mail_cdate’
 1772 | char *mail_cdate (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1772:7: note: previous declaration of ‘mail_cdate’ was here
 1772 | char *mail_cdate (char *string,MESSAGECACHE *elt);
      |       ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1773:6: error: conflicting types for ‘mail_parse_date’
 1773 | long mail_parse_date (MESSAGECACHE *elt,unsigned char *string);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1773:6: note: previous declaration of ‘mail_parse_date’ was here
 1773 | long mail_parse_date (MESSAGECACHE *elt,unsigned char *string);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1774:6: error: conflicting types for ‘mail_exists’
 1774 | void mail_exists (MAILSTREAM *stream,unsigned long nmsgs);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1774:6: note: previous declaration of ‘mail_exists’ was here
 1774 | void mail_exists (MAILSTREAM *stream,unsigned long nmsgs);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1775:6: error: conflicting types for ‘mail_recent’
 1775 | void mail_recent (MAILSTREAM *stream,unsigned long recent);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1775:6: note: previous declaration of ‘mail_recent’ was here
 1775 | void mail_recent (MAILSTREAM *stream,unsigned long recent);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1776:6: error: conflicting types for ‘mail_expunged’
 1776 | void mail_expunged (MAILSTREAM *stream,unsigned long msgno);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1776:6: note: previous declaration of ‘mail_expunged’ was here
 1776 | void mail_expunged (MAILSTREAM *stream,unsigned long msgno);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1777:6: error: conflicting types for ‘mail_lock’
 1777 | void mail_lock (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1777:6: note: previous declaration of ‘mail_lock’ was here
 1777 | void mail_lock (MAILSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1778:6: error: conflicting types for ‘mail_unlock’
 1778 | void mail_unlock (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1778:6: note: previous declaration of ‘mail_unlock’ was here
 1778 | void mail_unlock (MAILSTREAM *stream);
      |      ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1779:6: error: conflicting types for ‘mail_debug’
 1779 | void mail_debug (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:13:
mail.h:1779:6: note: previous declaration of ‘mail_debug’ was here
 1779 | void mail_debug (MAILSTREAM *stream);
      |      ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1780:6: error: conflicting types for ‘mail_nodebug’
 1780 | void mail_nodebug (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1780:6: note: previous declaration of ‘mail_nodebug’ was here
 1780 | void mail_nodebug (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1782:6: error: conflicting types for ‘mail_match_lines’
 1782 | long mail_match_lines (STRINGLIST *lines,STRINGLIST *msglines,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1782:6: note: previous declaration of ‘mail_match_lines’ was here
 1782 | long mail_match_lines (STRINGLIST *lines,STRINGLIST *msglines,long flags);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1783:15: error: conflicting types for ‘mail_filter’
 1783 | unsigned long mail_filter (char *text,unsigned long len,STRINGLIST *lines,
      |               ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1783:15: note: previous declaration of ‘mail_filter’ was here
 1783 | unsigned long mail_filter (char *text,unsigned long len,STRINGLIST *lines,
      |               ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1785:6: error: conflicting types for ‘mail_search_msg’
 1785 | long mail_search_msg (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1785:6: note: previous declaration of ‘mail_search_msg’ was here
 1785 | long mail_search_msg (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1787:6: error: conflicting types for ‘mail_search_header_text’
 1787 | long mail_search_header_text (char *s,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1787:6: note: previous declaration of ‘mail_search_header_text’ was here
 1787 | long mail_search_header_text (char *s,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1788:6: error: conflicting types for ‘mail_search_header’
 1788 | long mail_search_header (SIZEDTEXT *hdr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1788:6: note: previous declaration of ‘mail_search_header’ was here
 1788 | long mail_search_header (SIZEDTEXT *hdr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1789:6: error: conflicting types for ‘mail_search_text’
 1789 | long mail_search_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1789:6: note: previous declaration of ‘mail_search_text’ was here
 1789 | long mail_search_text (MAILSTREAM *stream,unsigned long msgno,char *section,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1791:6: error: conflicting types for ‘mail_search_body’
 1791 | long mail_search_body (MAILSTREAM *stream,unsigned long msgno,BODY *body,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1791:6: note: previous declaration of ‘mail_search_body’ was here
 1791 | long mail_search_body (MAILSTREAM *stream,unsigned long msgno,BODY *body,
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1793:6: error: conflicting types for ‘mail_search_string’
 1793 | long mail_search_string (SIZEDTEXT *s,char *charset,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1793:6: note: previous declaration of ‘mail_search_string’ was here
 1793 | long mail_search_string (SIZEDTEXT *s,char *charset,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1794:6: error: conflicting types for ‘mail_search_string_work’
 1794 | long mail_search_string_work (SIZEDTEXT *s,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1794:6: note: previous declaration of ‘mail_search_string_work’ was here
 1794 | long mail_search_string_work (SIZEDTEXT *s,STRINGLIST **st);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1795:6: error: conflicting types for ‘mail_search_keyword’
 1795 | long mail_search_keyword (MAILSTREAM *stream,MESSAGECACHE *elt,STRINGLIST *st,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1795:6: note: previous declaration of ‘mail_search_keyword’ was here
 1795 | long mail_search_keyword (MAILSTREAM *stream,MESSAGECACHE *elt,STRINGLIST *st,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1797:6: error: conflicting types for ‘mail_search_addr’
 1797 | long mail_search_addr (ADDRESS *adr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1797:6: note: previous declaration of ‘mail_search_addr’ was here
 1797 | long mail_search_addr (ADDRESS *adr,STRINGLIST *st);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1798:7: error: conflicting types for ‘mail_search_gets’
 1798 | char *mail_search_gets (readfn_t f,void *stream,unsigned long size,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1798:7: note: previous declaration of ‘mail_search_gets’ was here
 1798 | char *mail_search_gets (readfn_t f,void *stream,unsigned long size,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1800:12: error: conflicting types for ‘mail_criteria’
 1800 | SEARCHPGM *mail_criteria (char *criteria);
      |            ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1800:12: note: previous declaration of ‘mail_criteria’ was here
 1800 | SEARCHPGM *mail_criteria (char *criteria);
      |            ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1802:5: error: conflicting types for ‘mail_criteria_string’
 1802 | int mail_criteria_string (STRINGLIST **s,char **r);
      |     ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1802:5: note: previous declaration of ‘mail_criteria_string’ was here
 1802 | int mail_criteria_string (STRINGLIST **s,char **r);
      |     ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1805:12: error: conflicting types for ‘mail_parse_set’
 1805 | SEARCHSET *mail_parse_set (char *s,char **ret);
      |            ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1805:12: note: previous declaration of ‘mail_parse_set’ was here
 1805 | SEARCHSET *mail_parse_set (char *s,char **ret);
      |            ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1806:12: error: conflicting types for ‘mail_append_set’
 1806 | SEARCHSET *mail_append_set (SEARCHSET *set,unsigned long msgno);
      |            ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1806:12: note: previous declaration of ‘mail_append_set’ was here
 1806 | SEARCHSET *mail_append_set (SEARCHSET *set,unsigned long msgno);
      |            ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1807:16: error: conflicting types for ‘mail_sort’
 1807 | unsigned long *mail_sort (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1807:16: note: previous declaration of ‘mail_sort’ was here
 1807 | unsigned long *mail_sort (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1809:16: error: conflicting types for ‘mail_sort_cache’
 1809 | unsigned long *mail_sort_cache (MAILSTREAM *stream,SORTPGM *pgm,SORTCACHE **sc,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1809:16: note: previous declaration of ‘mail_sort_cache’ was here
 1809 | unsigned long *mail_sort_cache (MAILSTREAM *stream,SORTPGM *pgm,SORTCACHE **sc,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1811:16: error: conflicting types for ‘mail_sort_msgs’
 1811 | unsigned long *mail_sort_msgs (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1811:16: note: previous declaration of ‘mail_sort_msgs’ was here
 1811 | unsigned long *mail_sort_msgs (MAILSTREAM *stream,char *charset,SEARCHPGM *spg,
      |                ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1813:13: error: conflicting types for ‘mail_sort_loadcache’
 1813 | SORTCACHE **mail_sort_loadcache (MAILSTREAM *stream,SORTPGM *pgm);
      |             ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1813:13: note: previous declaration of ‘mail_sort_loadcache’ was here
 1813 | SORTCACHE **mail_sort_loadcache (MAILSTREAM *stream,SORTPGM *pgm);
      |             ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1818:15: error: conflicting types for ‘mail_longdate’
 1818 | unsigned long mail_longdate (MESSAGECACHE *elt);
      |               ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1818:15: note: previous declaration of ‘mail_longdate’ was here
 1818 | unsigned long mail_longdate (MESSAGECACHE *elt);
      |               ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1819:13: error: conflicting types for ‘mail_thread’
 1819 | THREADNODE *mail_thread (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1819:13: note: previous declaration of ‘mail_thread’ was here
 1819 | THREADNODE *mail_thread (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1821:13: error: conflicting types for ‘mail_thread_msgs’
 1821 | THREADNODE *mail_thread_msgs (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1821:13: note: previous declaration of ‘mail_thread_msgs’ was here
 1821 | THREADNODE *mail_thread_msgs (MAILSTREAM *stream,char *type,char *charset,
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1823:13: error: conflicting types for ‘mail_thread_orderedsubject’
 1823 | THREADNODE *mail_thread_orderedsubject (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1823:13: note: previous declaration of ‘mail_thread_orderedsubject’ was here
 1823 | THREADNODE *mail_thread_orderedsubject (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1826:13: error: conflicting types for ‘mail_thread_references’
 1826 | THREADNODE *mail_thread_references (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1826:13: note: previous declaration of ‘mail_thread_references’ was here
 1826 | THREADNODE *mail_thread_references (MAILSTREAM *stream,char *charset,
      |             ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1829:6: error: conflicting types for ‘mail_thread_loadcache’
 1829 | void mail_thread_loadcache (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1829:6: note: previous declaration of ‘mail_thread_loadcache’ was here
 1829 | void mail_thread_loadcache (MAILSTREAM *stream,unsigned long uid,OVERVIEW *ov,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1832:13: error: conflicting types for ‘mail_thread_parse_references’
 1832 | STRINGLIST *mail_thread_parse_references (char *s,long flag);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1832:13: note: previous declaration of ‘mail_thread_parse_references’ was here
 1832 | STRINGLIST *mail_thread_parse_references (char *s,long flag);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1836:13: error: conflicting types for ‘mail_thread_c2node’
 1836 | THREADNODE *mail_thread_c2node (MAILSTREAM *stream,container_t con,long flags);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1836:13: note: previous declaration of ‘mail_thread_c2node’ was here
 1836 | THREADNODE *mail_thread_c2node (MAILSTREAM *stream,container_t con,long flags);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1837:13: error: conflicting types for ‘mail_thread_sort’
 1837 | THREADNODE *mail_thread_sort (THREADNODE *thr,THREADNODE **tc);
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1837:13: note: previous declaration of ‘mail_thread_sort’ was here
 1837 | THREADNODE *mail_thread_sort (THREADNODE *thr,THREADNODE **tc);
      |             ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1839:6: error: conflicting types for ‘mail_sequence’
 1839 | long mail_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1839:6: note: previous declaration of ‘mail_sequence’ was here
 1839 | long mail_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1840:6: error: conflicting types for ‘mail_uid_sequence’
 1840 | long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1840:6: note: previous declaration of ‘mail_uid_sequence’ was here
 1840 | long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1841:6: error: conflicting types for ‘mail_parse_flags’
 1841 | long mail_parse_flags (MAILSTREAM *stream,char *flag,unsigned long *uf);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1841:6: note: previous declaration of ‘mail_parse_flags’ was here
 1841 | long mail_parse_flags (MAILSTREAM *stream,char *flag,unsigned long *uf);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1842:6: error: conflicting types for ‘mail_usable_network_stream’
 1842 | long mail_usable_network_stream (MAILSTREAM *stream,char *name);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1842:6: note: previous declaration of ‘mail_usable_network_stream’ was here
 1842 | long mail_usable_network_stream (MAILSTREAM *stream,char *name);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1844:15: error: conflicting types for ‘mail_new_cache_elt’
 1844 | MESSAGECACHE *mail_new_cache_elt (unsigned long msgno);
      |               ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1844:15: note: previous declaration of ‘mail_new_cache_elt’ was here
 1844 | MESSAGECACHE *mail_new_cache_elt (unsigned long msgno);
      |               ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1845:11: error: conflicting types for ‘mail_newenvelope’
 1845 | ENVELOPE *mail_newenvelope (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1845:11: note: previous declaration of ‘mail_newenvelope’ was here
 1845 | ENVELOPE *mail_newenvelope (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1846:10: error: conflicting types for ‘mail_newaddr’
 1846 | ADDRESS *mail_newaddr (void);
      |          ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1846:10: note: previous declaration of ‘mail_newaddr’ was here
 1846 | ADDRESS *mail_newaddr (void);
      |          ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1847:7: error: conflicting types for ‘mail_newbody’
 1847 | BODY *mail_newbody (void);
      |       ^~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1847:7: note: previous declaration of ‘mail_newbody’ was here
 1847 | BODY *mail_newbody (void);
      |       ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1848:7: error: conflicting types for ‘mail_initbody’
 1848 | BODY *mail_initbody (BODY *body);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1848:7: note: previous declaration of ‘mail_initbody’ was here
 1848 | BODY *mail_initbody (BODY *body);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1849:12: error: conflicting types for ‘mail_newbody_parameter’
 1849 | PARAMETER *mail_newbody_parameter (void);
      |            ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1849:12: note: previous declaration of ‘mail_newbody_parameter’ was here
 1849 | PARAMETER *mail_newbody_parameter (void);
      |            ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1850:7: error: conflicting types for ‘mail_newbody_part’
 1850 | PART *mail_newbody_part (void);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1850:7: note: previous declaration of ‘mail_newbody_part’ was here
 1850 | PART *mail_newbody_part (void);
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1851:10: error: conflicting types for ‘mail_newmsg’
 1851 | MESSAGE *mail_newmsg (void);
      |          ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1851:10: note: previous declaration of ‘mail_newmsg’ was here
 1851 | MESSAGE *mail_newmsg (void);
      |          ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1852:13: error: conflicting types for ‘mail_newstringlist’
 1852 | STRINGLIST *mail_newstringlist (void);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1852:13: note: previous declaration of ‘mail_newstringlist’ was here
 1852 | STRINGLIST *mail_newstringlist (void);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1853:12: error: conflicting types for ‘mail_newsearchpgm’
 1853 | SEARCHPGM *mail_newsearchpgm (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1853:12: note: previous declaration of ‘mail_newsearchpgm’ was here
 1853 | SEARCHPGM *mail_newsearchpgm (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1854:15: error: conflicting types for ‘mail_newsearchheader’
 1854 | SEARCHHEADER *mail_newsearchheader (char *line,char *text);
      |               ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1854:15: note: previous declaration of ‘mail_newsearchheader’ was here
 1854 | SEARCHHEADER *mail_newsearchheader (char *line,char *text);
      |               ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1855:12: error: conflicting types for ‘mail_newsearchset’
 1855 | SEARCHSET *mail_newsearchset (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1855:12: note: previous declaration of ‘mail_newsearchset’ was here
 1855 | SEARCHSET *mail_newsearchset (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1856:11: error: conflicting types for ‘mail_newsearchor’
 1856 | SEARCHOR *mail_newsearchor (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1856:11: note: previous declaration of ‘mail_newsearchor’ was here
 1856 | SEARCHOR *mail_newsearchor (void);
      |           ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1857:16: error: conflicting types for ‘mail_newsearchpgmlist’
 1857 | SEARCHPGMLIST *mail_newsearchpgmlist (void);
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1857:16: note: previous declaration of ‘mail_newsearchpgmlist’ was here
 1857 | SEARCHPGMLIST *mail_newsearchpgmlist (void);
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1858:10: error: conflicting types for ‘mail_newsortpgm’
 1858 | SORTPGM *mail_newsortpgm (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1858:10: note: previous declaration of ‘mail_newsortpgm’ was here
 1858 | SORTPGM *mail_newsortpgm (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1859:13: error: conflicting types for ‘mail_newthreadnode’
 1859 | THREADNODE *mail_newthreadnode (SORTCACHE *sc);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1859:13: note: previous declaration of ‘mail_newthreadnode’ was here
 1859 | THREADNODE *mail_newthreadnode (SORTCACHE *sc);
      |             ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1860:10: error: conflicting types for ‘mail_newacllist’
 1860 | ACLLIST *mail_newacllist (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1860:10: note: previous declaration of ‘mail_newacllist’ was here
 1860 | ACLLIST *mail_newacllist (void);
      |          ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1861:12: error: conflicting types for ‘mail_newquotalist’
 1861 | QUOTALIST *mail_newquotalist (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1861:12: note: previous declaration of ‘mail_newquotalist’ was here
 1861 | QUOTALIST *mail_newquotalist (void);
      |            ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1862:6: error: conflicting types for ‘mail_free_idlist’
 1862 | void mail_free_idlist (IDLIST **idlist);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1862:6: note: previous declaration of ‘mail_free_idlist’ was here
 1862 | void mail_free_idlist (IDLIST **idlist);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1863:6: error: conflicting types for ‘mail_free_body’
 1863 | void mail_free_body (BODY **body);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1863:6: note: previous declaration of ‘mail_free_body’ was here
 1863 | void mail_free_body (BODY **body);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1864:6: error: conflicting types for ‘mail_free_body_data’
 1864 | void mail_free_body_data (BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1864:6: note: previous declaration of ‘mail_free_body_data’ was here
 1864 | void mail_free_body_data (BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1865:6: error: conflicting types for ‘mail_free_body_parameter’
 1865 | void mail_free_body_parameter (PARAMETER **parameter);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1865:6: note: previous declaration of ‘mail_free_body_parameter’ was here
 1865 | void mail_free_body_parameter (PARAMETER **parameter);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1866:6: error: conflicting types for ‘mail_free_body_part’
 1866 | void mail_free_body_part (PART **part);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1866:6: note: previous declaration of ‘mail_free_body_part’ was here
 1866 | void mail_free_body_part (PART **part);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1867:6: error: conflicting types for ‘mail_free_cache’
 1867 | void mail_free_cache (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1867:6: note: previous declaration of ‘mail_free_cache’ was here
 1867 | void mail_free_cache (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1868:6: error: conflicting types for ‘mail_free_elt’
 1868 | void mail_free_elt (MESSAGECACHE **elt);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1868:6: note: previous declaration of ‘mail_free_elt’ was here
 1868 | void mail_free_elt (MESSAGECACHE **elt);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1869:6: error: conflicting types for ‘mail_free_envelope’
 1869 | void mail_free_envelope (ENVELOPE **env);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1869:6: note: previous declaration of ‘mail_free_envelope’ was here
 1869 | void mail_free_envelope (ENVELOPE **env);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1870:6: error: conflicting types for ‘mail_free_address’
 1870 | void mail_free_address (ADDRESS **address);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1870:6: note: previous declaration of ‘mail_free_address’ was here
 1870 | void mail_free_address (ADDRESS **address);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1871:6: error: conflicting types for ‘mail_free_stringlist’
 1871 | void mail_free_stringlist (STRINGLIST **string);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1871:6: note: previous declaration of ‘mail_free_stringlist’ was here
 1871 | void mail_free_stringlist (STRINGLIST **string);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1872:6: error: conflicting types for ‘mail_free_searchpgm’
 1872 | void mail_free_searchpgm (SEARCHPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1872:6: note: previous declaration of ‘mail_free_searchpgm’ was here
 1872 | void mail_free_searchpgm (SEARCHPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1873:6: error: conflicting types for ‘mail_free_searchheader’
 1873 | void mail_free_searchheader (SEARCHHEADER **hdr);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1873:6: note: previous declaration of ‘mail_free_searchheader’ was here
 1873 | void mail_free_searchheader (SEARCHHEADER **hdr);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1874:6: error: conflicting types for ‘mail_free_searchset’
 1874 | void mail_free_searchset (SEARCHSET **set);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1874:6: note: previous declaration of ‘mail_free_searchset’ was here
 1874 | void mail_free_searchset (SEARCHSET **set);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1875:6: error: conflicting types for ‘mail_free_searchor’
 1875 | void mail_free_searchor (SEARCHOR **orl);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1875:6: note: previous declaration of ‘mail_free_searchor’ was here
 1875 | void mail_free_searchor (SEARCHOR **orl);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1876:6: error: conflicting types for ‘mail_free_searchpgmlist’
 1876 | void mail_free_searchpgmlist (SEARCHPGMLIST **pgl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1876:6: note: previous declaration of ‘mail_free_searchpgmlist’ was here
 1876 | void mail_free_searchpgmlist (SEARCHPGMLIST **pgl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1877:6: error: conflicting types for ‘mail_free_namespace’
 1877 | void mail_free_namespace (NAMESPACE **n);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1877:6: note: previous declaration of ‘mail_free_namespace’ was here
 1877 | void mail_free_namespace (NAMESPACE **n);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1878:6: error: conflicting types for ‘mail_free_sortpgm’
 1878 | void mail_free_sortpgm (SORTPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1878:6: note: previous declaration of ‘mail_free_sortpgm’ was here
 1878 | void mail_free_sortpgm (SORTPGM **pgm);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1879:6: error: conflicting types for ‘mail_free_threadnode’
 1879 | void mail_free_threadnode (THREADNODE **thr);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1879:6: note: previous declaration of ‘mail_free_threadnode’ was here
 1879 | void mail_free_threadnode (THREADNODE **thr);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1880:6: error: conflicting types for ‘mail_free_acllist’
 1880 | void mail_free_acllist (ACLLIST **al);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1880:6: note: previous declaration of ‘mail_free_acllist’ was here
 1880 | void mail_free_acllist (ACLLIST **al);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1881:6: error: conflicting types for ‘mail_free_quotalist’
 1881 | void mail_free_quotalist (QUOTALIST **ql);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1881:6: note: previous declaration of ‘mail_free_quotalist’ was here
 1881 | void mail_free_quotalist (QUOTALIST **ql);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1882:6: error: conflicting types for ‘auth_link’
 1882 | void auth_link (AUTHENTICATOR *auth);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1882:6: note: previous declaration of ‘auth_link’ was here
 1882 | void auth_link (AUTHENTICATOR *auth);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1884:16: error: conflicting types for ‘mail_lookup_auth’
 1884 | AUTHENTICATOR *mail_lookup_auth (unsigned long i);
      |                ^~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1884:16: note: previous declaration of ‘mail_lookup_auth’ was here
 1884 | AUTHENTICATOR *mail_lookup_auth (unsigned long i);
      |                ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1887:12: error: conflicting types for ‘net_open’
 1887 | NETSTREAM *net_open (NETMBX *mb,NETDRIVER *dv,unsigned long port,
      |            ^~~~~~~~
In file included from maildir.c:13:
mail.h:1887:12: note: previous declaration of ‘net_open’ was here
 1887 | NETSTREAM *net_open (NETMBX *mb,NETDRIVER *dv,unsigned long port,
      |            ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1889:12: error: conflicting types for ‘net_open_work’
 1889 | NETSTREAM *net_open_work (NETDRIVER *dv,char *host,char *service,
      |            ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1889:12: note: previous declaration of ‘net_open_work’ was here
 1889 | NETSTREAM *net_open_work (NETDRIVER *dv,char *host,char *service,
      |            ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1892:12: error: conflicting types for ‘net_aopen’
 1892 | NETSTREAM *net_aopen (NETDRIVER *dv,NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1892:12: note: previous declaration of ‘net_aopen’ was here
 1892 | NETSTREAM *net_aopen (NETDRIVER *dv,NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1893:7: error: conflicting types for ‘net_getline’
 1893 | char *net_getline (NETSTREAM *stream);
      |       ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1893:7: note: previous declaration of ‘net_getline’ was here
 1893 | char *net_getline (NETSTREAM *stream);
      |       ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1896:6: error: conflicting types for ‘net_soutr’
 1896 | long net_soutr (NETSTREAM *stream,char *string);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1896:6: note: previous declaration of ‘net_soutr’ was here
 1896 | long net_soutr (NETSTREAM *stream,char *string);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1897:6: error: conflicting types for ‘net_sout’
 1897 | long net_sout (NETSTREAM *stream,char *string,unsigned long size);
      |      ^~~~~~~~
In file included from maildir.c:13:
mail.h:1897:6: note: previous declaration of ‘net_sout’ was here
 1897 | long net_sout (NETSTREAM *stream,char *string,unsigned long size);
      |      ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1898:6: error: conflicting types for ‘net_close’
 1898 | void net_close (NETSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:13:
mail.h:1898:6: note: previous declaration of ‘net_close’ was here
 1898 | void net_close (NETSTREAM *stream);
      |      ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1899:7: error: conflicting types for ‘net_host’
 1899 | char *net_host (NETSTREAM *stream);
      |       ^~~~~~~~
In file included from maildir.c:13:
mail.h:1899:7: note: previous declaration of ‘net_host’ was here
 1899 | char *net_host (NETSTREAM *stream);
      |       ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1900:7: error: conflicting types for ‘net_remotehost’
 1900 | char *net_remotehost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1900:7: note: previous declaration of ‘net_remotehost’ was here
 1900 | char *net_remotehost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1901:15: error: conflicting types for ‘net_port’
 1901 | unsigned long net_port (NETSTREAM *stream);
      |               ^~~~~~~~
In file included from maildir.c:13:
mail.h:1901:15: note: previous declaration of ‘net_port’ was here
 1901 | unsigned long net_port (NETSTREAM *stream);
      |               ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1902:7: error: conflicting types for ‘net_localhost’
 1902 | char *net_localhost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1902:7: note: previous declaration of ‘net_localhost’ was here
 1902 | char *net_localhost (NETSTREAM *stream);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1903:7: error: conflicting types for ‘net_getsize’
 1903 | char *net_getsize(NETSTREAM *stream, unsigned long size);
      |       ^~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1903:7: note: previous declaration of ‘net_getsize’ was here
 1903 | char *net_getsize(NETSTREAM *stream, unsigned long size);
      |       ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1922:5: error: conflicting types for ‘PSOUTR’
 1922 | int PSOUTR (SIZEDTEXT *s);
      |     ^~~~~~
In file included from maildir.c:13:
mail.h:1922:5: note: previous declaration of ‘PSOUTR’ was here
 1922 | int PSOUTR (SIZEDTEXT *s);
      |     ^~~~~~
In file included from maildir.c:8026:
mail.h:1934:15: error: redeclaration of enumerator ‘OA2_Id’
 1934 | typedef enum {OA2_Id = 0,
      |               ^~~~~~
In file included from maildir.c:5355:
mail.h:1934:15: note: previous definition of ‘OA2_Id’ was here
 1934 | typedef enum {OA2_Id = 0,
      |               ^~~~~~
In file included from maildir.c:8026:
mail.h:1935:8: error: redeclaration of enumerator ‘OA2_Secret’
 1935 |        OA2_Secret,
      |        ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1935:8: note: previous definition of ‘OA2_Secret’ was here
 1935 |        OA2_Secret,
      |        ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1936:8: error: redeclaration of enumerator ‘OA2_Code’
 1936 |        OA2_Code,
      |        ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1936:8: note: previous definition of ‘OA2_Code’ was here
 1936 |        OA2_Code,
      |        ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1937:8: error: redeclaration of enumerator ‘OA2_RefreshToken’
 1937 |        OA2_RefreshToken,
      |        ^~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1937:8: note: previous definition of ‘OA2_RefreshToken’ was here
 1937 |        OA2_RefreshToken,
      |        ^~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1938:8: error: redeclaration of enumerator ‘OA2_Scope’
 1938 |        OA2_Scope,
      |        ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1938:8: note: previous definition of ‘OA2_Scope’ was here
 1938 |        OA2_Scope,
      |        ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1939:8: error: redeclaration of enumerator ‘OA2_Redirect’
 1939 |        OA2_Redirect,
      |        ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1939:8: note: previous definition of ‘OA2_Redirect’ was here
 1939 |        OA2_Redirect,
      |        ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1940:8: error: redeclaration of enumerator ‘OA2_GrantTypeforAccessToken’
 1940 |        OA2_GrantTypeforAccessToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1940:8: note: previous definition of ‘OA2_GrantTypeforAccessToken’ was here
 1940 |        OA2_GrantTypeforAccessToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1941:8: error: redeclaration of enumerator ‘OA2_GrantTypefromRefreshToken’
 1941 |        OA2_GrantTypefromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1941:8: note: previous definition of ‘OA2_GrantTypefromRefreshToken’ was here
 1941 |        OA2_GrantTypefromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1942:8: error: redeclaration of enumerator ‘OA2_Response’
 1942 |        OA2_Response,
      |        ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1942:8: note: previous definition of ‘OA2_Response’ was here
 1942 |        OA2_Response,
      |        ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1943:8: error: redeclaration of enumerator ‘OA2_State’
 1943 |        OA2_State,
      |        ^~~~~~~~~
In file included from maildir.c:5355:
mail.h:1943:8: note: previous definition of ‘OA2_State’ was here
 1943 |        OA2_State,
      |        ^~~~~~~~~
In file included from maildir.c:8026:
mail.h:1944:8: error: redeclaration of enumerator ‘OA2_DeviceCode’
 1944 |        OA2_DeviceCode,
      |        ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1944:8: note: previous definition of ‘OA2_DeviceCode’ was here
 1944 |        OA2_DeviceCode,
      |        ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1945:8: error: redeclaration of enumerator ‘OA2_End’
 1945 |        OA2_End} OA2_type;
      |        ^~~~~~~
In file included from maildir.c:5355:
mail.h:1945:8: note: previous definition of ‘OA2_End’ was here
 1945 |        OA2_End} OA2_type;
      |        ^~~~~~~
In file included from maildir.c:8026:
mail.h:1945:17: error: conflicting types for ‘OA2_type’
 1945 |        OA2_End} OA2_type;
      |                 ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1945:17: note: previous declaration of ‘OA2_type’ was here
 1945 |        OA2_End} OA2_type;
      |                 ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1947:15: error: redeclaration of enumerator ‘OA2_GetAccessCode’
 1947 | typedef enum {OA2_GetAccessCode = 0,  /* define this to get access code */
      |               ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1947:15: note: previous definition of ‘OA2_GetAccessCode’ was here
 1947 | typedef enum {OA2_GetAccessCode = 0,  /* define this to get access code */
      |               ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1948:8: error: redeclaration of enumerator ‘OA2_GetDeviceCode’
 1948 |        OA2_GetDeviceCode,  /* define this if server uses device */
      |        ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1948:8: note: previous definition of ‘OA2_GetDeviceCode’ was here
 1948 |        OA2_GetDeviceCode,  /* define this if server uses device */
      |        ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1949:8: error: redeclaration of enumerator ‘OA2_GetAccessTokenFromAccessCode’
 1949 |        OA2_GetAccessTokenFromAccessCode,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1949:8: note: previous definition of ‘OA2_GetAccessTokenFromAccessCode’ was here
 1949 |        OA2_GetAccessTokenFromAccessCode,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1950:8: error: redeclaration of enumerator ‘OA2_GetAccessTokenFromRefreshToken’
 1950 |        OA2_GetAccessTokenFromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1950:8: note: previous definition of ‘OA2_GetAccessTokenFromRefreshToken’ was here
 1950 |        OA2_GetAccessTokenFromRefreshToken,
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1951:8: error: redeclaration of enumerator ‘OA2_GetEnd’
 1951 |        OA2_GetEnd} OA2_function;
      |        ^~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1951:8: note: previous definition of ‘OA2_GetEnd’ was here
 1951 |        OA2_GetEnd} OA2_function;
      |        ^~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1951:20: error: conflicting types for ‘OA2_function’
 1951 |        OA2_GetEnd} OA2_function;
      |                    ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1951:20: note: previous declaration of ‘OA2_function’ was here
 1951 |        OA2_GetEnd} OA2_function;
      |                    ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1953:16: error: redefinition of ‘struct OA2_param_s’
 1953 | typedef struct OA2_param_s {
      |                ^~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1953:16: note: originally defined here
 1953 | typedef struct OA2_param_s {
      |                ^~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1956:3: error: conflicting types for ‘OAUTH2_PARAM_S’
 1956 | } OAUTH2_PARAM_S;
      |   ^~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1956:3: note: previous declaration of ‘OAUTH2_PARAM_S’ was here
 1956 | } OAUTH2_PARAM_S;
      |   ^~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1958:16: error: redefinition of ‘struct OA2_serverparam_s’
 1958 | typedef struct OA2_serverparam_s {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1958:16: note: originally defined here
 1958 | typedef struct OA2_serverparam_s {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1962:3: error: conflicting types for ‘OAUTH2_SERVER_METHOD_S’
 1962 | } OAUTH2_SERVER_METHOD_S;
      |   ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1962:3: note: previous declaration of ‘OAUTH2_SERVER_METHOD_S’ was here
 1962 | } OAUTH2_SERVER_METHOD_S;
      |   ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1964:16: error: redefinition of ‘struct device_code_s’
 1964 | typedef struct device_code_s {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1964:16: note: originally defined here
 1964 | typedef struct device_code_s {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1971:3: error: conflicting types for ‘OAUTH2_DEVICECODE_S’
 1971 | } OAUTH2_DEVICECODE_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1971:3: note: previous declaration of ‘OAUTH2_DEVICECODE_S’ was here
 1971 | } OAUTH2_DEVICECODE_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1973:16: error: redefinition of ‘struct oauth2_s’
 1973 | typedef struct oauth2_s {
      |                ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1973:16: note: originally defined here
 1973 | typedef struct oauth2_s {
      |                ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1984:3: error: conflicting types for ‘OAUTH2_S’
 1984 | } OAUTH2_S;
      |   ^~~~~~~~
In file included from maildir.c:5355:
mail.h:1984:3: note: previous declaration of ‘OAUTH2_S’ was here
 1984 | } OAUTH2_S;
      |   ^~~~~~~~
In file included from maildir.c:8026:
mail.h:1986:16: error: redefinition of ‘struct deviceproc_s’
 1986 | typedef struct deviceproc_s {
      |                ^~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1986:16: note: originally defined here
 1986 | typedef struct deviceproc_s {
      |                ^~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1991:3: error: conflicting types for ‘OAUTH2_DEVICEPROC_S’
 1991 | } OAUTH2_DEVICEPROC_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1991:3: note: previous declaration of ‘OAUTH2_DEVICEPROC_S’ was here
 1991 | } OAUTH2_DEVICEPROC_S;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1994:17: error: conflicting types for ‘oauth2getaccesscode_t’
 1994 | typedef char *(*oauth2getaccesscode_t) (unsigned char *, char *, OAUTH2_S *, int *);
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1994:17: note: previous declaration of ‘oauth2getaccesscode_t’ was here
 1994 | typedef char *(*oauth2getaccesscode_t) (unsigned char *, char *, OAUTH2_S *, int *);
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1996:16: error: conflicting types for ‘oauth2deviceinfo_t’
 1996 | typedef void (*oauth2deviceinfo_t)(OAUTH2_S *, char *method);
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:5355:
mail.h:1996:16: note: previous declaration of ‘oauth2deviceinfo_t’ was here
 1996 | typedef void (*oauth2deviceinfo_t)(OAUTH2_S *, char *method);
      |                ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8026:
mail.h:1997:6: error: conflicting types for ‘mm_login_oauth2_c_client_method’
 1997 | void mm_login_oauth2_c_client_method (NETMBX *, char *, char *, OAUTH2_S *, unsigned long, int *);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:13:
mail.h:1997:6: note: previous declaration of ‘mm_login_oauth2_c_client_method’ was here
 1997 | void mm_login_oauth2_c_client_method (NETMBX *, char *, char *, OAUTH2_S *, unsigned long, int *);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:8030:
env_unix.h:27:16: error: redefinition of ‘struct dotlock_base’
   27 | typedef struct dotlock_base {
      |                ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:5359:
env_unix.h:27:16: note: originally defined here
   27 | typedef struct dotlock_base {
      |                ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:8030:
env_unix.h:31:3: error: conflicting types for ‘DOTLOCK’
   31 | } DOTLOCK;
      |   ^~~~~~~
In file included from osdep.h:67,
                 from maildir.c:5359:
env_unix.h:31:3: note: previous declaration of ‘DOTLOCK’ was here
   31 | } DOTLOCK;
      |   ^~~~~~~
In file included from env_unix.h:58,
                 from osdep.h:67,
                 from maildir.c:8030:
env.h:45:13: error: conflicting types for ‘default_proto’
   45 | MAILSTREAM *default_proto (long type);
      |             ^~~~~~~~~~~~~
In file included from env_unix.h:58,
                 from osdep.h:67,
                 from maildir.c:17:
env.h:45:13: note: previous declaration of ‘default_proto’ was here
   45 | MAILSTREAM *default_proto (long type);
      |             ^~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:8030:
env_unix.h:70:6: error: conflicting types for ‘dotlock_lock’
   70 | long dotlock_lock (char *file,DOTLOCK *base,int fd);
      |      ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:70:6: note: previous declaration of ‘dotlock_lock’ was here
   70 | long dotlock_lock (char *file,DOTLOCK *base,int fd);
      |      ^~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:8030:
env_unix.h:71:6: error: conflicting types for ‘dotlock_unlock’
   71 | long dotlock_unlock (DOTLOCK *base);
      |      ^~~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:71:6: note: previous declaration of ‘dotlock_unlock’ was here
   71 | long dotlock_unlock (DOTLOCK *base);
      |      ^~~~~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:8030:
env_unix.h:79:13: error: conflicting types for ‘user_flags’
   79 | MAILSTREAM *user_flags (MAILSTREAM *stream);
      |             ^~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:79:13: note: previous declaration of ‘user_flags’ was here
   79 | MAILSTREAM *user_flags (MAILSTREAM *stream);
      |             ^~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:8030:
env_unix.h:82:6: error: conflicting types for ‘path_create’
   82 | long path_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from osdep.h:67,
                 from maildir.c:17:
env_unix.h:82:6: note: previous declaration of ‘path_create’ was here
   82 | long path_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
In file included from osdep.h:70,
                 from maildir.c:8030:
nl.h:34:15: error: conflicting types for ‘strcrlflen’
   34 | unsigned long strcrlflen (STRING *s);
      |               ^~~~~~~~~~
In file included from osdep.h:70,
                 from maildir.c:17:
nl.h:34:15: note: previous declaration of ‘strcrlflen’ was here
   34 | unsigned long strcrlflen (STRING *s);
      |               ^~~~~~~~~~
In file included from osdep.h:71,
                 from maildir.c:8030:
tcp.h:41:12: error: conflicting types for ‘tcp_aopen’
   41 | TCPSTREAM *tcp_aopen (NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from osdep.h:71,
                 from maildir.c:17:
tcp.h:41:12: note: previous declaration of ‘tcp_aopen’ was here
   41 | TCPSTREAM *tcp_aopen (NETMBX *mb,char *service,char *usrbuf);
      |            ^~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:42:16: error: conflicting types for ‘rfc822out_t’
   42 | typedef long (*rfc822out_t) (char *tmp,ENVELOPE *env,BODY *body,soutr_t f,
      |                ^~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:42:16: note: previous declaration of ‘rfc822out_t’ was here
   42 | typedef long (*rfc822out_t) (char *tmp,ENVELOPE *env,BODY *body,soutr_t f,
      |                ^~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:45:16: error: redefinition of ‘struct rfc822buffer’
   45 | typedef struct rfc822buffer {
      |                ^~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:45:16: note: originally defined here
   45 | typedef struct rfc822buffer {
      |                ^~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:51:3: error: conflicting types for ‘RFC822BUFFER’
   51 | } RFC822BUFFER;
      |   ^~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:51:3: note: previous declaration of ‘RFC822BUFFER’ was here
   51 | } RFC822BUFFER;
      |   ^~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:53:16: error: conflicting types for ‘rfc822outfull_t’
   53 | typedef long (*rfc822outfull_t) (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:5360:
rfc822.h:53:16: note: previous declaration of ‘rfc822outfull_t’ was here
   53 | typedef long (*rfc822outfull_t) (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |                ^~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:59:6: error: conflicting types for ‘rfc822_parse_msg_full’
   59 | void rfc822_parse_msg_full (ENVELOPE **en,BODY **bdy,char *s,unsigned long i,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:59:6: note: previous declaration of ‘rfc822_parse_msg_full’ was here
   59 | void rfc822_parse_msg_full (ENVELOPE **en,BODY **bdy,char *s,unsigned long i,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:62:6: error: conflicting types for ‘rfc822_parse_content’
   62 | void rfc822_parse_content (BODY *body,STRING *bs,char *h,unsigned long depth,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:62:6: note: previous declaration of ‘rfc822_parse_content’ was here
   62 | void rfc822_parse_content (BODY *body,STRING *bs,char *h,unsigned long depth,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:64:6: error: conflicting types for ‘rfc822_parse_content_header’
   64 | void rfc822_parse_content_header (BODY *body,char *name,char *s);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:64:6: note: previous declaration of ‘rfc822_parse_content_header’ was here
   64 | void rfc822_parse_content_header (BODY *body,char *name,char *s);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:65:6: error: conflicting types for ‘rfc822_parse_parameter’
   65 | void rfc822_parse_parameter (PARAMETER **par,char *text);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:65:6: note: previous declaration of ‘rfc822_parse_parameter’ was here
   65 | void rfc822_parse_parameter (PARAMETER **par,char *text);
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:66:6: error: conflicting types for ‘rfc822_parse_adrlist’
   66 | void rfc822_parse_adrlist (ADDRESS **lst,char *string,char *host);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:66:6: note: previous declaration of ‘rfc822_parse_adrlist’ was here
   66 | void rfc822_parse_adrlist (ADDRESS **lst,char *string,char *host);
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:67:10: error: conflicting types for ‘rfc822_parse_address’
   67 | ADDRESS *rfc822_parse_address (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:67:10: note: previous declaration of ‘rfc822_parse_address’ was here
   67 | ADDRESS *rfc822_parse_address (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:69:10: error: conflicting types for ‘rfc822_parse_group’
   69 | ADDRESS *rfc822_parse_group (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:69:10: note: previous declaration of ‘rfc822_parse_group’ was here
   69 | ADDRESS *rfc822_parse_group (ADDRESS **lst,ADDRESS *last,char **string,
      |          ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:71:10: error: conflicting types for ‘rfc822_parse_mailbox’
   71 | ADDRESS *rfc822_parse_mailbox (char **string,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:71:10: note: previous declaration of ‘rfc822_parse_mailbox’ was here
   71 | ADDRESS *rfc822_parse_mailbox (char **string,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:73:10: error: conflicting types for ‘rfc822_parse_routeaddr’
   73 | ADDRESS *rfc822_parse_routeaddr (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:73:10: note: previous declaration of ‘rfc822_parse_routeaddr’ was here
   73 | ADDRESS *rfc822_parse_routeaddr (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:74:10: error: conflicting types for ‘rfc822_parse_addrspec’
   74 | ADDRESS *rfc822_parse_addrspec (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:74:10: note: previous declaration of ‘rfc822_parse_addrspec’ was here
   74 | ADDRESS *rfc822_parse_addrspec (char *string,char **ret,char *defaulthost);
      |          ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:80:10: error: conflicting types for ‘rfc822_cpy_adr’
   80 | ADDRESS *rfc822_cpy_adr (ADDRESS *adr);
      |          ^~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:80:10: note: previous declaration of ‘rfc822_cpy_adr’ was here
   80 | ADDRESS *rfc822_cpy_adr (ADDRESS *adr);
      |          ^~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:84:6: error: conflicting types for ‘rfc822_output_full’
   84 | long rfc822_output_full (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,long ok8);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:84:6: note: previous declaration of ‘rfc822_output_full’ was here
   84 | long rfc822_output_full (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,long ok8);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:85:6: error: conflicting types for ‘rfc822_output_flush’
   85 | long rfc822_output_flush (RFC822BUFFER *buf);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:85:6: note: previous declaration of ‘rfc822_output_flush’ was here
   85 | long rfc822_output_flush (RFC822BUFFER *buf);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:86:6: error: conflicting types for ‘rfc822_output_header’
   86 | long rfc822_output_header (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:86:6: note: previous declaration of ‘rfc822_output_header’ was here
   86 | long rfc822_output_header (RFC822BUFFER *buf,ENVELOPE *env,BODY *body,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:88:6: error: conflicting types for ‘rfc822_output_header_line’
   88 | long rfc822_output_header_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:88:6: note: previous declaration of ‘rfc822_output_header_line’ was here
   88 | long rfc822_output_header_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:90:6: error: conflicting types for ‘rfc822_output_address_line’
   90 | long rfc822_output_address_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:90:6: note: previous declaration of ‘rfc822_output_address_line’ was here
   90 | long rfc822_output_address_line (RFC822BUFFER *buf,char *type,long resent,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:92:6: error: conflicting types for ‘rfc822_output_address_list’
   92 | long rfc822_output_address_list (RFC822BUFFER *buf,ADDRESS *adr,long pretty,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:92:6: note: previous declaration of ‘rfc822_output_address_list’ was here
   92 | long rfc822_output_address_list (RFC822BUFFER *buf,ADDRESS *adr,long pretty,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:94:6: error: conflicting types for ‘rfc822_output_address’
   94 | long rfc822_output_address (RFC822BUFFER *buf,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:94:6: note: previous declaration of ‘rfc822_output_address’ was here
   94 | long rfc822_output_address (RFC822BUFFER *buf,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:95:6: error: conflicting types for ‘rfc822_output_cat’
   95 | long rfc822_output_cat (RFC822BUFFER *buf,char *src,const char *specials);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:95:6: note: previous declaration of ‘rfc822_output_cat’ was here
   95 | long rfc822_output_cat (RFC822BUFFER *buf,char *src,const char *specials);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:96:6: error: conflicting types for ‘rfc822_output_parameter’
   96 | long rfc822_output_parameter (RFC822BUFFER *buf,PARAMETER *param);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:96:6: note: previous declaration of ‘rfc822_output_parameter’ was here
   96 | long rfc822_output_parameter (RFC822BUFFER *buf,PARAMETER *param);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:97:6: error: conflicting types for ‘rfc822_output_stringlist’
   97 | long rfc822_output_stringlist (RFC822BUFFER *buf,STRINGLIST *stl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:97:6: note: previous declaration of ‘rfc822_output_stringlist’ was here
   97 | long rfc822_output_stringlist (RFC822BUFFER *buf,STRINGLIST *stl);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:98:6: error: conflicting types for ‘rfc822_output_body_header’
   98 | long rfc822_output_body_header (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:98:6: note: previous declaration of ‘rfc822_output_body_header’ was here
   98 | long rfc822_output_body_header (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:99:6: error: conflicting types for ‘rfc822_encode_body_7bit’
   99 | void rfc822_encode_body_7bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:99:6: note: previous declaration of ‘rfc822_encode_body_7bit’ was here
   99 | void rfc822_encode_body_7bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:100:6: error: conflicting types for ‘rfc822_encode_body_8bit’
  100 | void rfc822_encode_body_8bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:100:6: note: previous declaration of ‘rfc822_encode_body_8bit’ was here
  100 | void rfc822_encode_body_8bit (ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:101:6: error: conflicting types for ‘rfc822_output_text’
  101 | long rfc822_output_text (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:101:6: note: previous declaration of ‘rfc822_output_text’ was here
  101 | long rfc822_output_text (RFC822BUFFER *buf,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:111:6: error: conflicting types for ‘rfc822_header’
  111 | void rfc822_header (char *header,ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:111:6: note: previous declaration of ‘rfc822_header’ was here
  111 | void rfc822_header (char *header,ENVELOPE *env,BODY *body);
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:112:6: error: conflicting types for ‘rfc822_header_line’
  112 | void rfc822_header_line (char **header,char *type,ENVELOPE *env,char *text);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:112:6: note: previous declaration of ‘rfc822_header_line’ was here
  112 | void rfc822_header_line (char **header,char *type,ENVELOPE *env,char *text);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:113:6: error: conflicting types for ‘rfc822_address_line’
  113 | void rfc822_address_line (char **header,char *type,ENVELOPE *env,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:113:6: note: previous declaration of ‘rfc822_address_line’ was here
  113 | void rfc822_address_line (char **header,char *type,ENVELOPE *env,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:114:7: error: conflicting types for ‘rfc822_write_address_full’
  114 | char *rfc822_write_address_full (char *dest,ADDRESS *adr,char *base);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:114:7: note: previous declaration of ‘rfc822_write_address_full’ was here
  114 | char *rfc822_write_address_full (char *dest,ADDRESS *adr,char *base);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:115:6: error: conflicting types for ‘rfc822_address’
  115 | void rfc822_address (char *dest,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:115:6: note: previous declaration of ‘rfc822_address’ was here
  115 | void rfc822_address (char *dest,ADDRESS *adr);
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:117:6: error: conflicting types for ‘rfc822_write_body_header’
  117 | void rfc822_write_body_header (char **header,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:117:6: note: previous declaration of ‘rfc822_write_body_header’ was here
  117 | void rfc822_write_body_header (char **header,BODY *body);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:118:6: error: conflicting types for ‘rfc822_output’
  118 | long rfc822_output (char *t,ENVELOPE *env,BODY *body,soutr_t f,void *s,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:118:6: note: previous declaration of ‘rfc822_output’ was here
  118 | long rfc822_output (char *t,ENVELOPE *env,BODY *body,soutr_t f,void *s,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8031:
rfc822.h:120:6: error: conflicting types for ‘rfc822_output_body’
  120 | long rfc822_output_body (BODY *body,soutr_t f,void *s);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:18:
rfc822.h:120:6: note: previous declaration of ‘rfc822_output_body’ was here
  120 | long rfc822_output_body (BODY *body,soutr_t f,void *s);
      |      ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8032:
fdstring.h:31:16: error: redefinition of ‘struct fd_data’
   31 | typedef struct fd_data {
      |                ^~~~~~~
In file included from maildir.c:5361:
fdstring.h:31:16: note: originally defined here
   31 | typedef struct fd_data {
      |                ^~~~~~~
In file included from maildir.c:8032:
fdstring.h:36:3: error: conflicting types for ‘FDDATA’
   36 | } FDDATA;
      |   ^~~~~~
In file included from maildir.c:5361:
fdstring.h:36:3: note: previous declaration of ‘FDDATA’ was here
   36 | } FDDATA;
      |   ^~~~~~
In file included from maildir.c:8032:
fdstring.h:39:21: error: conflicting types for ‘fd_string’
   39 | extern STRINGDRIVER fd_string;
      |                     ^~~~~~~~~
In file included from maildir.c:19:
fdstring.h:39:21: note: previous declaration of ‘fd_string’ was here
   39 | extern STRINGDRIVER fd_string;
      |                     ^~~~~~~~~
In file included from maildir.c:8033:
misc.h:36:24: error: redefinition of ‘struct hash_entry’
   36 | #define HASHENT struct hash_entry
      |                        ^~~~~~~~~~
misc.h:38:1: note: in expansion of macro ‘HASHENT’
   38 | HASHENT {
      | ^~~~~~~
In file included from maildir.c:5362:
misc.h:36:24: note: originally defined here
   36 | #define HASHENT struct hash_entry
      |                        ^~~~~~~~~~
misc.h:38:1: note: in expansion of macro ‘HASHENT’
   38 | HASHENT {
      | ^~~~~~~
In file included from maildir.c:8033:
misc.h:45:24: error: redefinition of ‘struct hash_table’
   45 | #define HASHTAB struct hash_table
      |                        ^~~~~~~~~~
misc.h:47:1: note: in expansion of macro ‘HASHTAB’
   47 | HASHTAB {
      | ^~~~~~~
In file included from maildir.c:5362:
misc.h:45:24: note: originally defined here
   45 | #define HASHTAB struct hash_table
      |                        ^~~~~~~~~~
misc.h:47:1: note: in expansion of macro ‘HASHTAB’
   47 | HASHTAB {
      | ^~~~~~~
In file included from maildir.c:8033:
misc.h:85:7: error: conflicting types for ‘cpytxt’
   85 | char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size);
      |       ^~~~~~
In file included from maildir.c:20:
misc.h:85:7: note: previous declaration of ‘cpytxt’ was here
   85 | char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size);
      |       ^~~~~~
In file included from maildir.c:8033:
misc.h:86:7: error: conflicting types for ‘textcpy’
   86 | char *textcpy (SIZEDTEXT *dst,SIZEDTEXT *src);
      |       ^~~~~~~
In file included from maildir.c:20:
misc.h:86:7: note: previous declaration of ‘textcpy’ was here
   86 | char *textcpy (SIZEDTEXT *dst,SIZEDTEXT *src);
      |       ^~~~~~~
In file included from maildir.c:8033:
misc.h:87:7: error: conflicting types for ‘textcpystring’
   87 | char *textcpystring (SIZEDTEXT *text,STRING *bs);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:87:7: note: previous declaration of ‘textcpystring’ was here
   87 | char *textcpystring (SIZEDTEXT *text,STRING *bs);
      |       ^~~~~~~~~~~~~
In file included from maildir.c:8033:
misc.h:88:7: error: conflicting types for ‘textcpyoffstring’
   88 | char *textcpyoffstring (SIZEDTEXT *text,STRING *bs,unsigned long offset,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:88:7: note: previous declaration of ‘textcpyoffstring’ was here
   88 | char *textcpyoffstring (SIZEDTEXT *text,STRING *bs,unsigned long offset,
      |       ^~~~~~~~~~~~~~~~
In file included from maildir.c:8033:
misc.h:95:10: error: conflicting types for ‘hash_create’
   95 | HASHTAB *hash_create (size_t size);
      |          ^~~~~~~~~~~
In file included from maildir.c:20:
misc.h:95:10: note: previous declaration of ‘hash_create’ was here
   95 | HASHTAB *hash_create (size_t size);
      |          ^~~~~~~~~~~
In file included from maildir.c:8033:
misc.h:96:6: error: conflicting types for ‘hash_destroy’
   96 | void hash_destroy (HASHTAB **hashtab);
      |      ^~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:96:6: note: previous declaration of ‘hash_destroy’ was here
   96 | void hash_destroy (HASHTAB **hashtab);
      |      ^~~~~~~~~~~~
In file included from maildir.c:8033:
misc.h:97:6: error: conflicting types for ‘hash_reset’
   97 | void hash_reset (HASHTAB *hashtab);
      |      ^~~~~~~~~~
In file included from maildir.c:20:
misc.h:97:6: note: previous declaration of ‘hash_reset’ was here
   97 | void hash_reset (HASHTAB *hashtab);
      |      ^~~~~~~~~~
In file included from maildir.c:8033:
misc.h:98:15: error: conflicting types for ‘hash_index’
   98 | unsigned long hash_index (HASHTAB *hashtab,char *key);
      |               ^~~~~~~~~~
In file included from maildir.c:20:
misc.h:98:15: note: previous declaration of ‘hash_index’ was here
   98 | unsigned long hash_index (HASHTAB *hashtab,char *key);
      |               ^~~~~~~~~~
In file included from maildir.c:8033:
misc.h:99:8: error: conflicting types for ‘hash_lookup’
   99 | void **hash_lookup (HASHTAB *hashtab,char *key);
      |        ^~~~~~~~~~~
In file included from maildir.c:20:
misc.h:99:8: note: previous declaration of ‘hash_lookup’ was here
   99 | void **hash_lookup (HASHTAB *hashtab,char *key);
      |        ^~~~~~~~~~~
In file included from maildir.c:8033:
misc.h:100:10: error: conflicting types for ‘hash_add’
  100 | HASHENT *hash_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |          ^~~~~~~~
In file included from maildir.c:20:
misc.h:100:10: note: previous declaration of ‘hash_add’ was here
  100 | HASHENT *hash_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |          ^~~~~~~~
In file included from maildir.c:8033:
misc.h:101:8: error: conflicting types for ‘hash_lookup_and_add’
  101 | void **hash_lookup_and_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |        ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:101:8: note: previous declaration of ‘hash_lookup_and_add’ was here
  101 | void **hash_lookup_and_add (HASHTAB *hashtab,char *key,void *data,long extra);
      |        ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8033:
misc.h:107:5: error: conflicting types for ‘compare_csizedtext’
  107 | int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2);
      |     ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:20:
misc.h:107:5: note: previous declaration of ‘compare_csizedtext’ was here
  107 | int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2);
      |     ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8034:
dummy.h:31:6: error: conflicting types for ‘dummy_scan’
   31 | void dummy_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~~
In file included from maildir.c:21:
dummy.h:31:6: note: previous declaration of ‘dummy_scan’ was here
   31 | void dummy_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
      |      ^~~~~~~~~~
In file included from maildir.c:8034:
dummy.h:32:6: error: conflicting types for ‘dummy_list’
   32 | void dummy_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:21:
dummy.h:32:6: note: previous declaration of ‘dummy_list’ was here
   32 | void dummy_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:8034:
dummy.h:33:6: error: conflicting types for ‘dummy_lsub’
   33 | void dummy_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:21:
dummy.h:33:6: note: previous declaration of ‘dummy_lsub’ was here
   33 | void dummy_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~
In file included from maildir.c:8034:
dummy.h:34:6: error: conflicting types for ‘scan_contents’
   34 | long scan_contents (DRIVER *dtb,char *name,char *contents,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:34:6: note: previous declaration of ‘scan_contents’ was here
   34 | long scan_contents (DRIVER *dtb,char *name,char *contents,
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8034:
dummy.h:38:6: error: conflicting types for ‘dummy_create’
   38 | long dummy_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:38:6: note: previous declaration of ‘dummy_create’ was here
   38 | long dummy_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:8034:
dummy.h:39:6: error: conflicting types for ‘dummy_create_path’
   39 | long dummy_create_path (MAILSTREAM *stream,char *path,long dirmode);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:39:6: note: previous declaration of ‘dummy_create_path’ was here
   39 | long dummy_create_path (MAILSTREAM *stream,char *path,long dirmode);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8034:
dummy.h:40:6: error: conflicting types for ‘dummy_delete’
   40 | long dummy_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:40:6: note: previous declaration of ‘dummy_delete’ was here
   40 | long dummy_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~
In file included from maildir.c:8034:
dummy.h:41:6: error: conflicting types for ‘dummy_rename’
   41 | long dummy_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~~
In file included from maildir.c:21:
dummy.h:41:6: note: previous declaration of ‘dummy_rename’ was here
   41 | long dummy_rename (MAILSTREAM *stream,char *old,char *newname);
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:13:12: error: redefinition of ‘sep1’
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:14:12: error: redefinition of ‘sep2’
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:15:12: error: redefinition of ‘sep3’
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:17:13: error: redefinition of ‘sep’
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:8035:
maildir.h:22:16: error: redeclaration of enumerator ‘Draft’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
In file included from maildir.c:5364:
maildir.h:700:16: note: previous definition of ‘Draft’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
In file included from maildir.c:8035:
maildir.h:22:23: error: redeclaration of enumerator ‘Flagged’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
In file included from maildir.c:5364:
maildir.h:700:23: note: previous definition of ‘Flagged’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
In file included from maildir.c:8035:
maildir.h:22:32: error: redeclaration of enumerator ‘Passed’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
In file included from maildir.c:5364:
maildir.h:700:32: note: previous definition of ‘Passed’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
In file included from maildir.c:8035:
maildir.h:22:40: error: redeclaration of enumerator ‘Replied’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
In file included from maildir.c:5364:
maildir.h:700:40: note: previous definition of ‘Replied’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
In file included from maildir.c:8035:
maildir.h:22:49: error: redeclaration of enumerator ‘Seen’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
In file included from maildir.c:5364:
maildir.h:700:49: note: previous definition of ‘Seen’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
In file included from maildir.c:8035:
maildir.h:22:55: error: redeclaration of enumerator ‘Trashed’
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
In file included from maildir.c:5364:
maildir.h:700:55: note: previous definition of ‘Trashed’ was here
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
In file included from maildir.c:8035:
maildir.h:23:9: error: redeclaration of enumerator ‘EmptyFlag’
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
In file included from maildir.c:5364:
maildir.h:701:9: note: previous definition of ‘EmptyFlag’ was here
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
In file included from maildir.c:8035:
maildir.h:23:20: error: redeclaration of enumerator ‘EndFlags’
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
In file included from maildir.c:5364:
maildir.h:701:20: note: previous definition of ‘EndFlags’ was here
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
In file included from maildir.c:8035:
maildir.h:23:30: error: conflicting types for ‘MdFlagNamesType’
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:701:30: note: previous declaration of ‘MdFlagNamesType’ was here
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:24:11: error: redefinition of ‘mdimapflags’
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:25:11: error: redefinition of ‘mdkwdflags’
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:28:13: error: redefinition of ‘mdflags’
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:8035:
maildir.h:30:12: error: redefinition of ‘cmdflags’
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:8035:
maildir.h:38:15: error: redeclaration of enumerator ‘Cur’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
In file included from maildir.c:5364:
maildir.h:716:15: note: previous definition of ‘Cur’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
In file included from maildir.c:8035:
maildir.h:38:20: error: redeclaration of enumerator ‘Tmp’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
In file included from maildir.c:5364:
maildir.h:716:20: note: previous definition of ‘Tmp’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
In file included from maildir.c:8035:
maildir.h:38:25: error: redeclaration of enumerator ‘New’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
In file included from maildir.c:5364:
maildir.h:716:25: note: previous definition of ‘New’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
In file included from maildir.c:8035:
maildir.h:38:30: error: redeclaration of enumerator ‘EndDir’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
In file included from maildir.c:5364:
maildir.h:716:30: note: previous definition of ‘EndDir’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
In file included from maildir.c:8035:
maildir.h:38:38: error: conflicting types for ‘DirNamesType’
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:716:38: note: previous declaration of ‘DirNamesType’ was here
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:39:7: error: redefinition of ‘mdstruct’
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:8035:
maildir.h:71:12: error: redefinition of ‘mduid’
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:8035:
maildir.h:76:6: error: redefinition of ‘mdlocaldomain’
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:77:7: error: redefinition of ‘mypid’
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:8035:
maildir.h:78:14: error: redefinition of ‘mdfpath’
   78 | static char *mdfpath = NULL;
      |              ^~~~~~~
In file included from maildir.c:5364:
maildir.h:756:14: note: previous definition of ‘mdfpath’ was here
  756 | static char *mdfpath = NULL;
      |              ^~~~~~~
In file included from maildir.c:8035:
maildir.h:79:13: error: redefinition of ‘myMdInboxDir’
   79 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:757:13: note: previous definition of ‘myMdInboxDir’ was here
  757 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:80:13: error: redefinition of ‘CourierStyle’
   80 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:758:13: note: previous definition of ‘CourierStyle’ was here
  758 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:84:16: error: redefinition of ‘struct courier_local’
   84 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:762:16: note: originally defined here
  762 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:87:3: error: conflicting types for ‘COURIERLOCAL’
   87 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:765:3: note: previous declaration of ‘COURIERLOCAL’ was here
  765 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:89:16: error: redefinition of ‘struct courier’
   89 | typedef struct courier {
      |                ^~~~~~~
In file included from maildir.c:5364:
maildir.h:767:16: note: originally defined here
  767 | typedef struct courier {
      |                ^~~~~~~
In file included from maildir.c:8035:
maildir.h:94:3: error: conflicting types for ‘COURIER_S’
   94 | } COURIER_S;
      |   ^~~~~~~~~
In file included from maildir.c:5364:
maildir.h:772:3: note: previous declaration of ‘COURIER_S’ was here
  772 | } COURIER_S;
      |   ^~~~~~~~~
In file included from maildir.c:8035:
maildir.h:97:16: error: redefinition of ‘struct maildir_local’
   97 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:775:16: note: originally defined here
  775 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:109:3: error: conflicting types for ‘MAILDIRLOCAL’
  109 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:787:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  787 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:114:16: error: redefinition of ‘struct maildir_file_info’
  114 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:792:16: note: originally defined here
  792 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:122:3: error: conflicting types for ‘MAILDIRFILE’
  122 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
In file included from maildir.c:5364:
maildir.h:800:3: note: previous declaration of ‘MAILDIRFILE’ was here
  800 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:134:9: error: conflicting types for ‘maildir_valid’
  134 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:135:13: error: conflicting types for ‘maildir_open’
  135 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:136:6: error: conflicting types for ‘maildir_close’
  136 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:137:6: error: conflicting types for ‘maildir_ping’
  137 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:138:6: error: conflicting types for ‘maildir_check’
  138 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:139:6: error: conflicting types for ‘maildir_text’
  139 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:140:7: error: conflicting types for ‘maildir_header’
  140 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:142:6: error: conflicting types for ‘maildir_list’
  142 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:145:6: error: conflicting types for ‘maildir_create’
  145 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:146:6: error: conflicting types for ‘maildir_flagmsg’
  146 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:147:6: error: conflicting types for ‘maildir_expunge’
  147 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:148:6: error: conflicting types for ‘maildir_copy’
  148 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:149:6: error: conflicting types for ‘maildir_append’
  149 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:150:6: error: conflicting types for ‘maildir_delete’
  150 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:151:6: error: conflicting types for ‘maildir_rename’
  151 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:152:6: error: conflicting types for ‘maildir_sub’
  152 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:153:6: error: conflicting types for ‘maildir_unsub’
  153 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:154:6: error: conflicting types for ‘maildir_lsub’
  154 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:155:6: error: conflicting types for ‘courier_list’
  155 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:168:6: error: conflicting types for ‘maildir_list_work’
  168 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:169:6: error: conflicting types for ‘courier_list_work’
  169 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:174:5: error: conflicting types for ‘maildir_message_exists’
  174 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:176:7: error: conflicting types for ‘maildir_text_work’
  176 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:177:16: error: conflicting types for ‘maildir_parse_message’
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:184:6: error: conflicting types for ‘maildir_parse_folder’
  184 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:188:7: error: conflicting types for ‘maildir_initial_check’
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:189:16: error: conflicting types for ‘maildir_parse_dir’
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:196:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  196 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:197:6: error: conflicting types for ‘maildir_abort’
  197 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:202:6: error: conflicting types for ‘maildir_get_file’
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:206:6: error: conflicting types for ‘maildir_get_date’
  206 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:207:6: error: conflicting types for ‘maildir_fast’
  207 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:210:6: error: conflicting types for ‘courier_free_cdir’
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:211:12: error: conflicting types for ‘courier_get_cdir’
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:212:5: error: conflicting types for ‘courier_search_list’
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:213:12: error: conflicting types for ‘courier_list_dir’
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:214:6: error: conflicting types for ‘courier_list_info’
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:217:5: error: conflicting types for ‘maildir_can_assign_uid’
  217 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:218:6: error: conflicting types for ‘maildir_read_uid’
  218 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:220:6: error: conflicting types for ‘maildir_write_uid’
  220 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:223:6: error: conflicting types for ‘maildir_delete_uid’
  223 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:224:6: error: conflicting types for ‘maildir_assign_uid’
  224 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:225:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  225 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:239:12: error: redefinition of ‘sep1’
  239 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:240:12: error: redefinition of ‘sep2’
  240 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:241:12: error: redefinition of ‘sep3’
  241 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:243:13: error: redefinition of ‘sep’
  243 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:8035:
maildir.h:248:16: error: redeclaration of enumerator ‘Draft’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:22:16: note: previous definition of ‘Draft’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:248:23: error: redeclaration of enumerator ‘Flagged’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:22:23: note: previous definition of ‘Flagged’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:248:32: error: redeclaration of enumerator ‘Passed’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:22:32: note: previous definition of ‘Passed’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:248:40: error: redeclaration of enumerator ‘Replied’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:22:40: note: previous definition of ‘Replied’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:248:49: error: redeclaration of enumerator ‘Seen’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:22:49: note: previous definition of ‘Seen’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:248:55: error: redeclaration of enumerator ‘Trashed’
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:22:55: note: previous definition of ‘Trashed’ was here
   22 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:249:9: error: redeclaration of enumerator ‘EmptyFlag’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:23:9: note: previous definition of ‘EmptyFlag’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:249:20: error: redeclaration of enumerator ‘EndFlags’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:23:20: note: previous definition of ‘EndFlags’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:249:30: error: conflicting types for ‘MdFlagNamesType’
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:23:30: note: previous declaration of ‘MdFlagNamesType’ was here
   23 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:250:11: error: redefinition of ‘mdimapflags’
  250 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:251:11: error: redefinition of ‘mdkwdflags’
  251 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:254:13: error: redefinition of ‘mdflags’
  254 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:8035:
maildir.h:256:12: error: redefinition of ‘cmdflags’
  256 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:8035:
maildir.h:264:15: error: redeclaration of enumerator ‘Cur’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:38:15: note: previous definition of ‘Cur’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:264:20: error: redeclaration of enumerator ‘Tmp’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:38:20: note: previous definition of ‘Tmp’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:264:25: error: redeclaration of enumerator ‘New’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:38:25: note: previous definition of ‘New’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:264:30: error: redeclaration of enumerator ‘EndDir’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:38:30: note: previous definition of ‘EndDir’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:264:38: error: conflicting types for ‘DirNamesType’
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:38:38: note: previous declaration of ‘DirNamesType’ was here
   38 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:265:7: error: redefinition of ‘mdstruct’
  265 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:8035:
maildir.h:297:12: error: redefinition of ‘mduid’
  297 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:8035:
maildir.h:302:6: error: redefinition of ‘mdlocaldomain’
  302 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:303:7: error: redefinition of ‘mypid’
  303 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:8035:
maildir.h:304:14: error: redefinition of ‘mdfpath’
  304 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:78:14: note: previous definition of ‘mdfpath’ was here
   78 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:305:13: error: redefinition of ‘myMdInboxDir’
  305 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:79:13: note: previous definition of ‘myMdInboxDir’ was here
   79 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:306:13: error: redefinition of ‘CourierStyle’
  306 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:80:13: note: previous definition of ‘CourierStyle’ was here
   80 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:310:16: error: redefinition of ‘struct courier_local’
  310 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:84:16: note: originally defined here
   84 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:313:3: error: conflicting types for ‘COURIERLOCAL’
  313 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:87:3: note: previous declaration of ‘COURIERLOCAL’ was here
   87 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:315:16: error: redefinition of ‘struct courier’
  315 | typedef struct courier {
      |                ^~~~~~~
maildir.h:89:16: note: originally defined here
   89 | typedef struct courier {
      |                ^~~~~~~
maildir.h:320:3: error: conflicting types for ‘COURIER_S’
  320 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:94:3: note: previous declaration of ‘COURIER_S’ was here
   94 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:323:16: error: redefinition of ‘struct maildir_local’
  323 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:97:16: note: originally defined here
   97 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:335:3: error: conflicting types for ‘MAILDIRLOCAL’
  335 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:109:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  109 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:340:16: error: redefinition of ‘struct maildir_file_info’
  340 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:114:16: note: originally defined here
  114 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:348:3: error: conflicting types for ‘MAILDIRFILE’
  348 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:122:3: note: previous declaration of ‘MAILDIRFILE’ was here
  122 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:360:9: error: conflicting types for ‘maildir_valid’
  360 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:361:13: error: conflicting types for ‘maildir_open’
  361 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:362:6: error: conflicting types for ‘maildir_close’
  362 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:363:6: error: conflicting types for ‘maildir_ping’
  363 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:364:6: error: conflicting types for ‘maildir_check’
  364 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:365:6: error: conflicting types for ‘maildir_text’
  365 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:366:7: error: conflicting types for ‘maildir_header’
  366 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:368:6: error: conflicting types for ‘maildir_list’
  368 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:371:6: error: conflicting types for ‘maildir_create’
  371 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:372:6: error: conflicting types for ‘maildir_flagmsg’
  372 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:373:6: error: conflicting types for ‘maildir_expunge’
  373 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:374:6: error: conflicting types for ‘maildir_copy’
  374 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:375:6: error: conflicting types for ‘maildir_append’
  375 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:376:6: error: conflicting types for ‘maildir_delete’
  376 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:377:6: error: conflicting types for ‘maildir_rename’
  377 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:378:6: error: conflicting types for ‘maildir_sub’
  378 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:379:6: error: conflicting types for ‘maildir_unsub’
  379 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:380:6: error: conflicting types for ‘maildir_lsub’
  380 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:381:6: error: conflicting types for ‘courier_list’
  381 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:394:6: error: conflicting types for ‘maildir_list_work’
  394 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:395:6: error: conflicting types for ‘courier_list_work’
  395 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:400:5: error: conflicting types for ‘maildir_message_exists’
  400 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:402:7: error: conflicting types for ‘maildir_text_work’
  402 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:403:16: error: conflicting types for ‘maildir_parse_message’
  403 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:410:6: error: conflicting types for ‘maildir_parse_folder’
  410 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:414:7: error: conflicting types for ‘maildir_initial_check’
  414 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:415:16: error: conflicting types for ‘maildir_parse_dir’
  415 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:422:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  422 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:423:6: error: conflicting types for ‘maildir_abort’
  423 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:428:6: error: conflicting types for ‘maildir_get_file’
  428 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:432:6: error: conflicting types for ‘maildir_get_date’
  432 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:433:6: error: conflicting types for ‘maildir_fast’
  433 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:436:6: error: conflicting types for ‘courier_free_cdir’
  436 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:437:12: error: conflicting types for ‘courier_get_cdir’
  437 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:438:5: error: conflicting types for ‘courier_search_list’
  438 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:439:12: error: conflicting types for ‘courier_list_dir’
  439 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:440:6: error: conflicting types for ‘courier_list_info’
  440 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:443:5: error: conflicting types for ‘maildir_can_assign_uid’
  443 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:444:6: error: conflicting types for ‘maildir_read_uid’
  444 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:446:6: error: conflicting types for ‘maildir_write_uid’
  446 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:449:6: error: conflicting types for ‘maildir_delete_uid’
  449 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:450:6: error: conflicting types for ‘maildir_assign_uid’
  450 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:451:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  451 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:465:12: error: redefinition of ‘sep1’
  465 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:466:12: error: redefinition of ‘sep2’
  466 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:467:12: error: redefinition of ‘sep3’
  467 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:469:13: error: redefinition of ‘sep’
  469 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:8035:
maildir.h:474:16: error: redeclaration of enumerator ‘Draft’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:248:16: note: previous definition of ‘Draft’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:474:23: error: redeclaration of enumerator ‘Flagged’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:248:23: note: previous definition of ‘Flagged’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:474:32: error: redeclaration of enumerator ‘Passed’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:248:32: note: previous definition of ‘Passed’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:474:40: error: redeclaration of enumerator ‘Replied’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:248:40: note: previous definition of ‘Replied’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:474:49: error: redeclaration of enumerator ‘Seen’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:248:49: note: previous definition of ‘Seen’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:474:55: error: redeclaration of enumerator ‘Trashed’
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:248:55: note: previous definition of ‘Trashed’ was here
  248 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:475:9: error: redeclaration of enumerator ‘EmptyFlag’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:249:9: note: previous definition of ‘EmptyFlag’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:475:20: error: redeclaration of enumerator ‘EndFlags’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:249:20: note: previous definition of ‘EndFlags’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:475:30: error: conflicting types for ‘MdFlagNamesType’
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:249:30: note: previous declaration of ‘MdFlagNamesType’ was here
  249 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:476:11: error: redefinition of ‘mdimapflags’
  476 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:477:11: error: redefinition of ‘mdkwdflags’
  477 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:480:13: error: redefinition of ‘mdflags’
  480 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:8035:
maildir.h:482:12: error: redefinition of ‘cmdflags’
  482 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:8035:
maildir.h:490:15: error: redeclaration of enumerator ‘Cur’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:264:15: note: previous definition of ‘Cur’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:490:20: error: redeclaration of enumerator ‘Tmp’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:264:20: note: previous definition of ‘Tmp’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:490:25: error: redeclaration of enumerator ‘New’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:264:25: note: previous definition of ‘New’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:490:30: error: redeclaration of enumerator ‘EndDir’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:264:30: note: previous definition of ‘EndDir’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:490:38: error: conflicting types for ‘DirNamesType’
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:264:38: note: previous declaration of ‘DirNamesType’ was here
  264 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:491:7: error: redefinition of ‘mdstruct’
  491 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:8035:
maildir.h:523:12: error: redefinition of ‘mduid’
  523 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:8035:
maildir.h:528:6: error: redefinition of ‘mdlocaldomain’
  528 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:529:7: error: redefinition of ‘mypid’
  529 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:8035:
maildir.h:530:14: error: redefinition of ‘mdfpath’
  530 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:304:14: note: previous definition of ‘mdfpath’ was here
  304 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:531:13: error: redefinition of ‘myMdInboxDir’
  531 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:305:13: note: previous definition of ‘myMdInboxDir’ was here
  305 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:532:13: error: redefinition of ‘CourierStyle’
  532 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:306:13: note: previous definition of ‘CourierStyle’ was here
  306 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:536:16: error: redefinition of ‘struct courier_local’
  536 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:310:16: note: originally defined here
  310 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:539:3: error: conflicting types for ‘COURIERLOCAL’
  539 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:313:3: note: previous declaration of ‘COURIERLOCAL’ was here
  313 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:541:16: error: redefinition of ‘struct courier’
  541 | typedef struct courier {
      |                ^~~~~~~
maildir.h:315:16: note: originally defined here
  315 | typedef struct courier {
      |                ^~~~~~~
maildir.h:546:3: error: conflicting types for ‘COURIER_S’
  546 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:320:3: note: previous declaration of ‘COURIER_S’ was here
  320 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:549:16: error: redefinition of ‘struct maildir_local’
  549 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:323:16: note: originally defined here
  323 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:561:3: error: conflicting types for ‘MAILDIRLOCAL’
  561 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:335:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  335 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:566:16: error: redefinition of ‘struct maildir_file_info’
  566 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:340:16: note: originally defined here
  340 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:574:3: error: conflicting types for ‘MAILDIRFILE’
  574 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:348:3: note: previous declaration of ‘MAILDIRFILE’ was here
  348 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:586:9: error: conflicting types for ‘maildir_valid’
  586 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:587:13: error: conflicting types for ‘maildir_open’
  587 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:588:6: error: conflicting types for ‘maildir_close’
  588 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:589:6: error: conflicting types for ‘maildir_ping’
  589 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:590:6: error: conflicting types for ‘maildir_check’
  590 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:591:6: error: conflicting types for ‘maildir_text’
  591 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:592:7: error: conflicting types for ‘maildir_header’
  592 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:594:6: error: conflicting types for ‘maildir_list’
  594 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:597:6: error: conflicting types for ‘maildir_create’
  597 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:598:6: error: conflicting types for ‘maildir_flagmsg’
  598 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:599:6: error: conflicting types for ‘maildir_expunge’
  599 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:600:6: error: conflicting types for ‘maildir_copy’
  600 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:601:6: error: conflicting types for ‘maildir_append’
  601 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:602:6: error: conflicting types for ‘maildir_delete’
  602 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:603:6: error: conflicting types for ‘maildir_rename’
  603 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:604:6: error: conflicting types for ‘maildir_sub’
  604 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:605:6: error: conflicting types for ‘maildir_unsub’
  605 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:606:6: error: conflicting types for ‘maildir_lsub’
  606 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:607:6: error: conflicting types for ‘courier_list’
  607 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:620:6: error: conflicting types for ‘maildir_list_work’
  620 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:621:6: error: conflicting types for ‘courier_list_work’
  621 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:626:5: error: conflicting types for ‘maildir_message_exists’
  626 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:628:7: error: conflicting types for ‘maildir_text_work’
  628 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:629:16: error: conflicting types for ‘maildir_parse_message’
  629 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:636:6: error: conflicting types for ‘maildir_parse_folder’
  636 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:640:7: error: conflicting types for ‘maildir_initial_check’
  640 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:641:16: error: conflicting types for ‘maildir_parse_dir’
  641 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:648:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  648 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:649:6: error: conflicting types for ‘maildir_abort’
  649 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:654:6: error: conflicting types for ‘maildir_get_file’
  654 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:658:6: error: conflicting types for ‘maildir_get_date’
  658 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:659:6: error: conflicting types for ‘maildir_fast’
  659 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:662:6: error: conflicting types for ‘courier_free_cdir’
  662 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:663:12: error: conflicting types for ‘courier_get_cdir’
  663 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:664:5: error: conflicting types for ‘courier_search_list’
  664 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:665:12: error: conflicting types for ‘courier_list_dir’
  665 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:666:6: error: conflicting types for ‘courier_list_info’
  666 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:669:5: error: conflicting types for ‘maildir_can_assign_uid’
  669 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:670:6: error: conflicting types for ‘maildir_read_uid’
  670 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:672:6: error: conflicting types for ‘maildir_write_uid’
  672 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition of ‘maildir_write_uid’ was here
 2570 | maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      | ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:675:6: error: conflicting types for ‘maildir_delete_uid’
  675 | void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2601:1: note: previous definition of ‘maildir_delete_uid’ was here
 2601 | maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:676:6: error: conflicting types for ‘maildir_assign_uid’
  676 | void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
      |      ^~~~~~~~~~~~~~~~~~
maildir.c:2627:1: note: previous definition of ‘maildir_assign_uid’ was here
 2627 | maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
      | ^~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:677:6: error: conflicting types for ‘maildir_uid_renew_tempfile’
  677 | void maildir_uid_renew_tempfile(MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:2655:1: note: previous definition of ‘maildir_uid_renew_tempfile’ was here
 2655 | maildir_uid_renew_tempfile(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:691:12: error: redefinition of ‘sep1’
  691 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:22:
maildir.h:13:12: note: previous definition of ‘sep1’ was here
   13 | const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:692:12: error: redefinition of ‘sep2’
  692 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:14:12: note: previous definition of ‘sep2’ was here
   14 | const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:693:12: error: redefinition of ‘sep3’
  693 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:22:
maildir.h:15:12: note: previous definition of ‘sep3’ was here
   15 | const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr....  */
      |            ^~~~
In file included from maildir.c:8035:
maildir.h:695:13: error: redefinition of ‘sep’
  695 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:22:
maildir.h:17:13: note: previous definition of ‘sep’ was here
   17 | const char *sep[] = { sep1, sep2, sep3, NULL};
      |             ^~~
In file included from maildir.c:8035:
maildir.h:700:16: error: redeclaration of enumerator ‘Draft’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:474:16: note: previous definition of ‘Draft’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                ^~~~~
maildir.h:700:23: error: redeclaration of enumerator ‘Flagged’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:474:23: note: previous definition of ‘Flagged’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                       ^~~~~~~
maildir.h:700:32: error: redeclaration of enumerator ‘Passed’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:474:32: note: previous definition of ‘Passed’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                ^~~~~~
maildir.h:700:40: error: redeclaration of enumerator ‘Replied’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:474:40: note: previous definition of ‘Replied’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                        ^~~~~~~
maildir.h:700:49: error: redeclaration of enumerator ‘Seen’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:474:49: note: previous definition of ‘Seen’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                 ^~~~
maildir.h:700:55: error: redeclaration of enumerator ‘Trashed’
  700 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:474:55: note: previous definition of ‘Trashed’ was here
  474 | typedef enum  {Draft, Flagged, Passed, Replied, Seen, Trashed,
      |                                                       ^~~~~~~
maildir.h:701:9: error: redeclaration of enumerator ‘EmptyFlag’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:475:9: note: previous definition of ‘EmptyFlag’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |         ^~~~~~~~~
maildir.h:701:20: error: redeclaration of enumerator ‘EndFlags’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:475:20: note: previous definition of ‘EndFlags’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                    ^~~~~~~~
maildir.h:701:30: error: conflicting types for ‘MdFlagNamesType’
  701 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:475:30: note: previous declaration of ‘MdFlagNamesType’ was here
  475 |         EmptyFlag, EndFlags} MdFlagNamesType;
      |                              ^~~~~~~~~~~~~~~
maildir.h:702:11: error: redefinition of ‘mdimapflags’
  702 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:24:11: note: previous definition of ‘mdimapflags’ was here
   24 | const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:703:11: error: redefinition of ‘mdkwdflags’
  703 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:22:
maildir.h:25:11: note: previous definition of ‘mdkwdflags’ was here
   25 | const int mdkwdflags[]  = {Passed, EmptyFlag, EndFlags};
      |           ^~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:706:13: error: redefinition of ‘mdflags’
  706 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:22:
maildir.h:28:13: note: previous definition of ‘mdflags’ was here
   28 | const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
      |             ^~~~~~~
In file included from maildir.c:8035:
maildir.h:708:12: error: redefinition of ‘cmdflags’
  708 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:22:
maildir.h:30:12: note: previous definition of ‘cmdflags’ was here
   30 | const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
      |            ^~~~~~~~
In file included from maildir.c:8035:
maildir.h:716:15: error: redeclaration of enumerator ‘Cur’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:490:15: note: previous definition of ‘Cur’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |               ^~~
maildir.h:716:20: error: redeclaration of enumerator ‘Tmp’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:490:20: note: previous definition of ‘Tmp’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                    ^~~
maildir.h:716:25: error: redeclaration of enumerator ‘New’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:490:25: note: previous definition of ‘New’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                         ^~~
maildir.h:716:30: error: redeclaration of enumerator ‘EndDir’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:490:30: note: previous definition of ‘EndDir’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                              ^~~~~~
maildir.h:716:38: error: conflicting types for ‘DirNamesType’
  716 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:490:38: note: previous declaration of ‘DirNamesType’ was here
  490 | typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
      |                                      ^~~~~~~~~~~~
maildir.h:717:7: error: redefinition of ‘mdstruct’
  717 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:22:
maildir.h:39:7: note: previous definition of ‘mdstruct’ was here
   39 | char *mdstruct[] = {"cur", "tmp", "new", NULL};
      |       ^~~~~~~~
In file included from maildir.c:8035:
maildir.h:749:12: error: redefinition of ‘mduid’
  749 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:22:
maildir.h:71:12: note: previous definition of ‘mduid’ was here
   71 | const char mduid[] = {',','u','=','\0'};
      |            ^~~~~
In file included from maildir.c:8035:
maildir.h:754:6: error: redefinition of ‘mdlocaldomain’
  754 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:76:6: note: previous definition of ‘mdlocaldomain’ was here
   76 | char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:755:7: error: redefinition of ‘mypid’
  755 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:22:
maildir.h:77:7: note: previous definition of ‘mypid’ was here
   77 | pid_t mypid = (pid_t) 0;
      |       ^~~~~
In file included from maildir.c:8035:
maildir.h:756:14: error: redefinition of ‘mdfpath’
  756 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:530:14: note: previous definition of ‘mdfpath’ was here
  530 | static char *mdfpath = NULL;
      |              ^~~~~~~
maildir.h:757:13: error: redefinition of ‘myMdInboxDir’
  757 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:531:13: note: previous definition of ‘myMdInboxDir’ was here
  531 | static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
      |             ^~~~~~~~~~~~
maildir.h:758:13: error: redefinition of ‘CourierStyle’
  758 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:532:13: note: previous definition of ‘CourierStyle’ was here
  532 | static long CourierStyle = CCLIENT;
      |             ^~~~~~~~~~~~
maildir.h:762:16: error: redefinition of ‘struct courier_local’
  762 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:536:16: note: originally defined here
  536 | typedef struct courier_local {
      |                ^~~~~~~~~~~~~
maildir.h:765:3: error: conflicting types for ‘COURIERLOCAL’
  765 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:539:3: note: previous declaration of ‘COURIERLOCAL’ was here
  539 | } COURIERLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:767:16: error: redefinition of ‘struct courier’
  767 | typedef struct courier {
      |                ^~~~~~~
maildir.h:541:16: note: originally defined here
  541 | typedef struct courier {
      |                ^~~~~~~
maildir.h:772:3: error: conflicting types for ‘COURIER_S’
  772 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:546:3: note: previous declaration of ‘COURIER_S’ was here
  546 | } COURIER_S;
      |   ^~~~~~~~~
maildir.h:775:16: error: redefinition of ‘struct maildir_local’
  775 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:549:16: note: originally defined here
  549 | typedef struct maildir_local {
      |                ^~~~~~~~~~~~~
maildir.h:787:3: error: conflicting types for ‘MAILDIRLOCAL’
  787 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:561:3: note: previous declaration of ‘MAILDIRLOCAL’ was here
  561 | } MAILDIRLOCAL;
      |   ^~~~~~~~~~~~
maildir.h:792:16: error: redefinition of ‘struct maildir_file_info’
  792 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:566:16: note: originally defined here
  566 | typedef struct maildir_file_info {
      |                ^~~~~~~~~~~~~~~~~
maildir.h:800:3: error: conflicting types for ‘MAILDIRFILE’
  800 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:574:3: note: previous declaration of ‘MAILDIRFILE’ was here
  574 | } MAILDIRFILE;
      |   ^~~~~~~~~~~
maildir.h:812:9: error: conflicting types for ‘maildir_valid’
  812 | DRIVER *maildir_valid (char *name);
      |         ^~~~~~~~~~~~~
maildir.c:299:9: note: previous definition of ‘maildir_valid’ was here
  299 | DRIVER *maildir_valid (char *name)
      |         ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:813:13: error: conflicting types for ‘maildir_open’
  813 | MAILSTREAM *maildir_open (MAILSTREAM *stream);
      |             ^~~~~~~~~~~~
maildir.c:471:13: note: previous definition of ‘maildir_open’ was here
  471 | MAILSTREAM *maildir_open (MAILSTREAM *stream)
      |             ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:814:6: error: conflicting types for ‘maildir_close’
  814 | void maildir_close (MAILSTREAM *stream, long options);
      |      ^~~~~~~~~~~~~
maildir.c:815:6: note: previous definition of ‘maildir_close’ was here
  815 | void maildir_close (MAILSTREAM *stream, long options)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:815:6: error: conflicting types for ‘maildir_ping’
  815 | long maildir_ping (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~
maildir.c:780:6: note: previous definition of ‘maildir_ping’ was here
  780 | long maildir_ping (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:816:6: error: conflicting types for ‘maildir_check’
  816 | void maildir_check (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:835:6: note: previous definition of ‘maildir_check’ was here
  835 | void maildir_check (MAILSTREAM *stream)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:817:6: error: conflicting types for ‘maildir_text’
  817 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
      |      ^~~~~~~~~~~~
maildir.c:840:6: note: previous definition of ‘maildir_text’ was here
  840 | long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:818:7: error: conflicting types for ‘maildir_header’
  818 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
maildir.c:1023:7: note: previous definition of ‘maildir_header’ was here
 1023 | char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
      |       ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:820:6: error: conflicting types for ‘maildir_list’
  820 | void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1084:6: note: previous definition of ‘maildir_list’ was here
 1084 | void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:823:6: error: conflicting types for ‘maildir_create’
  823 | long maildir_create (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1251:6: note: previous definition of ‘maildir_create’ was here
 1251 | long maildir_create (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:824:6: error: conflicting types for ‘maildir_flagmsg’
  824 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
      |      ^~~~~~~~~~~~~~~
maildir.c:1272:6: note: previous definition of ‘maildir_flagmsg’ was here
 1272 | void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:825:6: error: conflicting types for ‘maildir_expunge’
  825 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
      |      ^~~~~~~~~~~~~~~
maildir.c:1313:6: note: previous definition of ‘maildir_expunge’ was here
 1313 | long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
      |      ^~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:826:6: error: conflicting types for ‘maildir_copy’
  826 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
      |      ^~~~~~~~~~~~
maildir.c:1361:6: note: previous definition of ‘maildir_copy’ was here
 1361 | long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:827:6: error: conflicting types for ‘maildir_append’
  827 | long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
      |      ^~~~~~~~~~~~~~
maildir.c:1407:6: note: previous definition of ‘maildir_append’ was here
 1407 | long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:828:6: error: conflicting types for ‘maildir_delete’
  828 | long maildir_delete (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~~
maildir.c:1530:6: note: previous definition of ‘maildir_delete’ was here
 1530 | long maildir_delete (MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:829:6: error: conflicting types for ‘maildir_rename’
  829 | long maildir_rename (MAILSTREAM *stream,char *old,char *new);
      |      ^~~~~~~~~~~~~~
maildir.c:1644:6: note: previous definition of ‘maildir_rename’ was here
 1644 | long maildir_rename (MAILSTREAM *stream, char *old, char *new)
      |      ^~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:830:6: error: conflicting types for ‘maildir_sub’
  830 | long maildir_sub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~
maildir.c:1705:6: note: previous definition of ‘maildir_sub’ was here
 1705 | long maildir_sub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:831:6: error: conflicting types for ‘maildir_unsub’
  831 | long maildir_unsub (MAILSTREAM *stream,char *mailbox);
      |      ^~~~~~~~~~~~~
maildir.c:1710:6: note: previous definition of ‘maildir_unsub’ was here
 1710 | long maildir_unsub(MAILSTREAM *stream,char *mailbox)
      |      ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:832:6: error: conflicting types for ‘maildir_lsub’
  832 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1715:6: note: previous definition of ‘maildir_lsub’ was here
 1715 | void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:833:6: error: conflicting types for ‘courier_list’
  833 | void courier_list (MAILSTREAM *stream,char *ref, char *pat);
      |      ^~~~~~~~~~~~
maildir.c:1124:6: note: previous definition of ‘courier_list’ was here
 1124 | void courier_list (MAILSTREAM *stream,char *ref, char *pat)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:846:6: error: conflicting types for ‘maildir_list_work’
  846 | void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1742:6: note: previous definition of ‘maildir_list_work’ was here
 1742 | void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:847:6: error: conflicting types for ‘courier_list_work’
  847 | void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
      |      ^~~~~~~~~~~~~~~~~
maildir.c:1811:6: note: previous definition of ‘courier_list_work’ was here
 1811 | void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:852:5: error: conflicting types for ‘maildir_message_exists’
  852 | int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:441:5: note: previous definition of ‘maildir_message_exists’ was here
  441 | int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
      |     ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:854:7: error: conflicting types for ‘maildir_text_work’
  854 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
      |       ^~~~~~~~~~~~~~~~~
maildir.c:871:7: note: previous definition of ‘maildir_text_work’ was here
  871 | char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
      |       ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:855:16: error: conflicting types for ‘maildir_parse_message’
  855 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:177:16: note: previous declaration of ‘maildir_parse_message’ was here
  177 | unsigned long  maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
      |                ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:862:6: error: conflicting types for ‘maildir_parse_folder’
  862 | void maildir_parse_folder (MAILSTREAM *stream, int full);
      |      ^~~~~~~~~~~~~~~~~~~~
maildir.c:526:1: note: previous definition of ‘maildir_parse_folder’ was here
  526 | maildir_parse_folder (MAILSTREAM *stream, int full)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:866:7: error: conflicting types for ‘maildir_initial_check’
  866 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:188:7: note: previous declaration of ‘maildir_initial_check’ was here
  188 | int   maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:867:16: error: conflicting types for ‘maildir_parse_dir’
  867 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:189:16: note: previous declaration of ‘maildir_parse_dir’ was here
  189 | unsigned long  maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
      |                ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:874:5: error: conflicting types for ‘maildir_update_elt_maildirp’
  874 | int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
maildir.c:982:1: note: previous definition of ‘maildir_update_elt_maildirp’ was here
  982 | maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:875:6: error: conflicting types for ‘maildir_abort’
  875 | void maildir_abort (MAILSTREAM *stream);
      |      ^~~~~~~~~~~~~
maildir.c:2073:1: note: previous definition of ‘maildir_abort’ was here
 2073 | maildir_abort(MAILSTREAM *stream)
      | ^~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:880:6: error: conflicting types for ‘maildir_get_file’
  880 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:202:6: note: previous declaration of ‘maildir_get_file’ was here
  202 | void maildir_get_file (MAILDIRFILE **mdfile);
      |      ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:884:6: error: conflicting types for ‘maildir_get_date’
  884 | void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
      |      ^~~~~~~~~~~~~~~~
maildir.c:2252:1: note: previous definition of ‘maildir_get_date’ was here
 2252 | maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:885:6: error: conflicting types for ‘maildir_fast’
  885 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
      |      ^~~~~~~~~~~~
maildir.c:309:6: note: previous definition of ‘maildir_fast’ was here
  309 | void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
      |      ^~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:888:6: error: conflicting types for ‘courier_free_cdir’
  888 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:210:6: note: previous declaration of ‘courier_free_cdir’ was here
  210 | void courier_free_cdir (COURIER_S **cdir);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:889:12: error: conflicting types for ‘courier_get_cdir’
  889 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:211:12: note: previous declaration of ‘courier_get_cdir’ was here
  211 | COURIER_S *courier_get_cdir (int total);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:890:5: error: conflicting types for ‘courier_search_list’
  890 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:212:5: note: previous declaration of ‘courier_search_list’ was here
  212 | int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:891:12: error: conflicting types for ‘courier_list_dir’
  891 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:213:12: note: previous declaration of ‘courier_list_dir’ was here
  213 | COURIER_S *courier_list_dir(char *curdir);
      |            ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:892:6: error: conflicting types for ‘courier_list_info’
  892 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:22:
maildir.h:214:6: note: previous declaration of ‘courier_list_info’ was here
  214 | void courier_list_info(COURIER_S **cdirp, char *data, int i);
      |      ^~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:895:5: error: conflicting types for ‘maildir_can_assign_uid’
  895 | int maildir_can_assign_uid (MAILSTREAM *stream);
      |     ^~~~~~~~~~~~~~~~~~~~~~
maildir.c:2430:1: note: previous definition of ‘maildir_can_assign_uid’ was here
 2430 | maildir_can_assign_uid (MAILSTREAM *stream)
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:896:6: error: conflicting types for ‘maildir_read_uid’
  896 | void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      |      ^~~~~~~~~~~~~~~~
maildir.c:2513:1: note: previous definition of ‘maildir_read_uid’ was here
 2513 | maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
      | ^~~~~~~~~~~~~~~~
In file included from maildir.c:8035:
maildir.h:898:6: error: conflicting types for ‘maildir_write_uid’
  898 | void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
      |      ^~~~~~~~~~~~~~~~~
maildir.c:2570:1: note: previous definition