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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
8041d378a5a1 Sync from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6381
diff changeset
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
8041d378a5a1 Sync from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6381
diff changeset
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