1/* lzo_asm.h -- assembler prototypes for the LZO data compression library
2
3   This file is part of the LZO real-time data compression library.
4
5   Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
6   Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
7   Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
8   Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
9   Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
10   Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
11   Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
12   Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
13   Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
14   Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
15   Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
16   Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
17   Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
18   All Rights Reserved.
19
20   The LZO library is free software; you can redistribute it and/or
21   modify it under the terms of the GNU General Public License as
22   published by the Free Software Foundation; either version 2 of
23   the License, or (at your option) any later version.
24
25   The LZO library is distributed in the hope that it will be useful,
26   but WITHOUT ANY WARRANTY; without even the implied warranty of
27   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28   GNU General Public License for more details.
29
30   You should have received a copy of the GNU General Public License
31   along with the LZO library; see the file COPYING.
32   If not, write to the Free Software Foundation, Inc.,
33   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
34
35   Markus F.X.J. Oberhumer
36   <markus@oberhumer.com>
37   http://www.oberhumer.com/opensource/lzo/
38 */
39
40
41#ifndef __LZO_ASM_H_INCLUDED
42#define __LZO_ASM_H_INCLUDED
43
44#ifndef __LZOCONF_H_INCLUDED
45#include "lzoconf.h"
46#endif
47
48#ifdef __cplusplus
49extern "C" {
50#endif
51
52
53/***********************************************************************
54// assembly decompressors
55************************************************************************/
56
57LZO_EXTERN(int) lzo1c_decompress_asm
58                                (const lzo_bytep src, lzo_uint  src_len,
59                                       lzo_bytep dst, lzo_uintp dst_len,
60                                       lzo_voidp wrkmem);
61LZO_EXTERN(int) lzo1c_decompress_asm_safe
62                                (const lzo_bytep src, lzo_uint  src_len,
63                                       lzo_bytep dst, lzo_uintp dst_len,
64                                       lzo_voidp wrkmem);
65
66LZO_EXTERN(int) lzo1f_decompress_asm_fast
67                                (const lzo_bytep src, lzo_uint  src_len,
68                                       lzo_bytep dst, lzo_uintp dst_len,
69                                       lzo_voidp wrkmem);
70LZO_EXTERN(int) lzo1f_decompress_asm_fast_safe
71                                (const lzo_bytep src, lzo_uint  src_len,
72                                       lzo_bytep dst, lzo_uintp dst_len,
73                                       lzo_voidp wrkmem);
74
75LZO_EXTERN(int) lzo1x_decompress_asm
76                                (const lzo_bytep src, lzo_uint  src_len,
77                                       lzo_bytep dst, lzo_uintp dst_len,
78                                       lzo_voidp wrkmem);
79LZO_EXTERN(int) lzo1x_decompress_asm_safe
80                                (const lzo_bytep src, lzo_uint  src_len,
81                                       lzo_bytep dst, lzo_uintp dst_len,
82                                       lzo_voidp wrkmem);
83LZO_EXTERN(int) lzo1x_decompress_asm_fast
84                                (const lzo_bytep src, lzo_uint  src_len,
85                                       lzo_bytep dst, lzo_uintp dst_len,
86                                       lzo_voidp wrkmem);
87LZO_EXTERN(int) lzo1x_decompress_asm_fast_safe
88                                (const lzo_bytep src, lzo_uint  src_len,
89                                       lzo_bytep dst, lzo_uintp dst_len,
90                                       lzo_voidp wrkmem);
91
92LZO_EXTERN(int) lzo1y_decompress_asm
93                                (const lzo_bytep src, lzo_uint  src_len,
94                                       lzo_bytep dst, lzo_uintp dst_len,
95                                       lzo_voidp wrkmem);
96LZO_EXTERN(int) lzo1y_decompress_asm_safe
97                                (const lzo_bytep src, lzo_uint  src_len,
98                                       lzo_bytep dst, lzo_uintp dst_len,
99                                       lzo_voidp wrkmem);
100LZO_EXTERN(int) lzo1y_decompress_asm_fast
101                                (const lzo_bytep src, lzo_uint  src_len,
102                                       lzo_bytep dst, lzo_uintp dst_len,
103                                       lzo_voidp wrkmem);
104LZO_EXTERN(int) lzo1y_decompress_asm_fast_safe
105                                (const lzo_bytep src, lzo_uint  src_len,
106                                       lzo_bytep dst, lzo_uintp dst_len,
107                                       lzo_voidp wrkmem);
108
109
110/***********************************************************************
111// checksum and misc functions
112************************************************************************/
113
114#if 0
115
116LZO_EXTERN(lzo_uint32)
117lzo_crc32_asm(lzo_uint32 _c, const lzo_bytep _buf, lzo_uint _len,
118              const lzo_uint32p _crc_table);
119
120LZO_EXTERN(lzo_uint32)
121lzo_crc32_asm_small(lzo_uint32 _c, const lzo_bytep _buf, lzo_uint _len);
122
123LZO_EXTERN(int)
124lzo_cpuid_asm(lzo_uint32p /* lzo_uint32 info[16] */ );
125
126LZO_EXTERN(lzo_uint32)
127lzo_rdtsc_asm(lzo_uint32p /* lzo_uint32 ticks[2] */ );
128
129#endif
130
131
132#ifdef __cplusplus
133} /* extern "C" */
134#endif
135
136#endif /* already included */
137
138
139/* vim:set ts=4 et: */
140