1 /* GNU Mailutils -- a suite of utilities for electronic mail
2    Copyright (C) 2011-2021 Free Software Foundation, Inc.
3 
4    This library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 3 of the License, or (at your option) any later version.
8 
9    This library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13 
14    You should have received a copy of the GNU Lesser General
15    Public License along with this library.  If not, see
16    <http://www.gnu.org/licenses/>. */
17 
18 #ifdef HAVE_CONFIG_H
19 # include <config.h>
20 #endif
21 
22 #include <errno.h>
23 #include <mailutils/imap.h>
24 #include <mailutils/sys/imap.h>
25 
26 int
mu_imap_subscribe(mu_imap_t imap,const char * mailbox)27 mu_imap_subscribe (mu_imap_t imap, const char *mailbox)
28 {
29   char const *argv[2];
30   static struct imap_command com;
31 
32   if (!mailbox)
33     return EINVAL;
34 
35   argv[0] = "SUBSCRIBE";
36   argv[1] = mailbox;
37 
38   com.session_state = MU_IMAP_SESSION_AUTH;
39   com.capa = NULL;
40   com.rx_state = MU_IMAP_CLIENT_SUBSCRIBE_RX;
41   com.argc = 2;
42   com.argv = argv;
43   com.extra = NULL;
44   com.msgset = NULL;
45   com.tagged_handler = NULL;
46   com.untagged_handler = NULL;
47 
48   return mu_imap_gencom (imap, &com);
49 }
50 
51