Mercurial > hg > octave-lojdl > gnulib-hg
annotate lib/sha1.h @ 8045:7dcf8a1f2f5e
* lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
a circularity problem with HP-UX ia64 reported by Bob Proulx in
<http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
All uses changed.
(_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
All uses changed.
* lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
to _Restrict_.
* lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
the parameter matches the prototype.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Mon, 29 Jan 2007 00:37:14 +0000 |
parents | 8041d378a5a1 |
children | 9a9b67d137e3 |
rev | line source |
---|---|
5165
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
1 /* Declarations of functions and data types used for SHA1 sum |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
2 library functions. |
6553 | 3 Copyright (C) 2000, 2001, 2003, 2005, 2006 Free Software Foundation, Inc. |
5165
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
4 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
5 This program is free software; you can redistribute it and/or modify it |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
6 under the terms of the GNU General Public License as published by the |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
7 Free Software Foundation; either version 2, or (at your option) any |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
8 later version. |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
9 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
10 This program is distributed in the hope that it will be useful, |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
13 GNU General Public License for more details. |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
14 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
15 You should have received a copy of the GNU General Public License |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
16 along with this program; if not, write to the Free Software Foundation, |
5848
a48fb0e98c8c
*** empty log message ***
Paul Eggert <eggert@cs.ucla.edu>
parents:
5165
diff
changeset
|
17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ |
5165
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
18 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
19 #ifndef SHA1_H |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
20 # define SHA1_H 1 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
21 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
22 # include <stdio.h> |
6381
865e2ea2dde4
Separate sha1 from md5. Use stdint.h in both modules.
Simon Josefsson <simon@josefsson.org>
parents:
6222
diff
changeset
|
23 # include <stdint.h> |
5165
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
24 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
25 /* Structure to save state of computation between the single steps. */ |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
26 struct sha1_ctx |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
27 { |
6381
865e2ea2dde4
Separate sha1 from md5. Use stdint.h in both modules.
Simon Josefsson <simon@josefsson.org>
parents:
6222
diff
changeset
|
28 uint32_t A; |
865e2ea2dde4
Separate sha1 from md5. Use stdint.h in both modules.
Simon Josefsson <simon@josefsson.org>
parents:
6222
diff
changeset
|
29 uint32_t B; |
865e2ea2dde4
Separate sha1 from md5. Use stdint.h in both modules.
Simon Josefsson <simon@josefsson.org>
parents:
6222
diff
changeset
|
30 uint32_t C; |
865e2ea2dde4
Separate sha1 from md5. Use stdint.h in both modules.
Simon Josefsson <simon@josefsson.org>
parents:
6222
diff
changeset
|
31 uint32_t D; |
865e2ea2dde4
Separate sha1 from md5. Use stdint.h in both modules.
Simon Josefsson <simon@josefsson.org>
parents:
6222
diff
changeset
|
32 uint32_t E; |
5165
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
33 |
6381
865e2ea2dde4
Separate sha1 from md5. Use stdint.h in both modules.
Simon Josefsson <simon@josefsson.org>
parents:
6222
diff
changeset
|
34 uint32_t total[2]; |
865e2ea2dde4
Separate sha1 from md5. Use stdint.h in both modules.
Simon Josefsson <simon@josefsson.org>
parents:
6222
diff
changeset
|
35 uint32_t buflen; |
6553 | 36 uint32_t buffer[32]; |
5165
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
37 }; |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
38 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
39 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
40 /* Initialize structure containing state of computation. */ |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
41 extern void sha1_init_ctx (struct sha1_ctx *ctx); |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
42 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
43 /* Starting with the result of former calls of this function (or the |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
44 initialization function update the context for the next LEN bytes |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
45 starting at BUFFER. |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
46 It is necessary that LEN is a multiple of 64!!! */ |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
47 extern void sha1_process_block (const void *buffer, size_t len, |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
48 struct sha1_ctx *ctx); |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
49 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
50 /* Starting with the result of former calls of this function (or the |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
51 initialization function update the context for the next LEN bytes |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
52 starting at BUFFER. |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
53 It is NOT required that LEN is a multiple of 64. */ |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
54 extern void sha1_process_bytes (const void *buffer, size_t len, |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
55 struct sha1_ctx *ctx); |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
56 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
57 /* Process the remaining bytes in the buffer and put result from CTX |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
58 in first 20 bytes following RESBUF. The result is always in little |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
59 endian byte order, so that a byte-wise output yields to the wanted |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
60 ASCII representation of the message digest. |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
61 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
62 IMPORTANT: On some systems it is required that RESBUF be correctly |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
63 aligned for a 32 bits value. */ |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
64 extern void *sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf); |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
65 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
66 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
67 /* Put result from CTX in first 20 bytes following RESBUF. The result is |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
68 always in little endian byte order, so that a byte-wise output yields |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
69 to the wanted ASCII representation of the message digest. |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
70 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
71 IMPORTANT: On some systems it is required that RESBUF is correctly |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
72 aligned for a 32 bits value. */ |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
73 extern void *sha1_read_ctx (const struct sha1_ctx *ctx, void *resbuf); |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
74 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
75 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
76 /* Compute SHA1 message digest for bytes read from STREAM. The |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
77 resulting message digest number will be written into the 20 bytes |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
78 beginning at RESBLOCK. */ |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
79 extern int sha1_stream (FILE *stream, void *resblock); |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
80 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
81 /* Compute SHA1 message digest for LEN bytes beginning at BUFFER. The |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
82 result is always in little endian byte order, so that a byte-wise |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
83 output yields to the wanted ASCII representation of the message |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
84 digest. */ |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
85 extern void *sha1_buffer (const char *buffer, size_t len, void *resblock); |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
86 |
9d7fe6ace357
Add uint32_t.m4, uintptr_t.m4, and finish renaming sha->sha1.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
87 #endif |