9a375eb05ecc8f6df9b875d647178333b81d2795
[libgcrypt.git] / src / symapi.c
1 /* symapi.c  -  symmetric cipher function interface
2  *      Copyright (C) 1998 Free Software Foundation, Inc.
3  *
4  * This file is part of GnuPG.
5  *
6  * GnuPG is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * GnuPG is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19  */
20
21 #include <config.h>
22 #include <stdio.h>
23 #include <stdlib.h>
24 #include <string.h>
25 #include <stdarg.h>
26 #include <assert.h>
27
28 #include "g10lib.h"
29 #include "cipher.h"
30
31
32 #define CONTEXT_MAGIC = 0x12569afe;
33
34 struct gcry_cipher_context {
35     u32 magic;
36     unsigned flags;
37     CIPHER_HD *hd;
38 };
39
40
41 GCRY_CIPHER_HD
42 gcry_cipher_open( int algo, int mode, unsigned flags )
43 {
44     GCRY_CIPHER_HD hd;
45
46     hd = m_lib_alloc_clear( sizeof *hd );
47     if( !hd ) {
48         set_lasterr( GCRYERR_NOMEM );
49         return NULL;
50     }
51
52     /* check whether the algo is available */
53
54     /* setup a context */
55
56     /* return the handle */
57 }
58
59
60 void
61 gcry_cipher_close( GCRY_CIPHER_HD h )
62 {
63     if( !h )
64         return;
65     if( h->magic != CONTEXT_MAGIC )  {
66         fatal_invalid_arg("gcry_cipher_close: already closed/invalid handle");
67         return;
68     }
69     cipher_close( h->hd );
70     h->magic = 0;
71     m_lib_free(h);
72 }
73
74 int  gcry_cipher_ctl( GCRY_CIPHER_HD h, int cmd, byte *buffer, size_t buflen)
75 {
76 }
77