15b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project/* md5.h - an implementation of the MD5 algorithm and MD5 crypt */
25b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project/*
35b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  GRUB  --  GRand Unified Bootloader
45b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  Copyright (C) 2000  Free Software Foundation, Inc.
55b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *
65b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  This program is free software; you can redistribute it and/or modify
75b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  it under the terms of the GNU General Public License as published by
85b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  the Free Software Foundation; either version 2 of the License, or
95b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  (at your option) any later version.
105b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *
115b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  This program is distributed in the hope that it will be useful,
125b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  but WITHOUT ANY WARRANTY; without even the implied warranty of
135b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
145b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  GNU General Public License for more details.
155b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *
165b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  You should have received a copy of the GNU General Public License
175b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  along with this program; if not, write to the Free Software
185b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
195b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project */
205b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project
215b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project/* If CHECK is true, check a password for correctness. Returns 0
225b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project   if password was correct, and a value != 0 for error, similarly
235b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project   to strcmp.
245b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project   If CHECK is false, crypt KEY and save the result in CRYPTED.
255b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project   CRYPTED must have a salt.  */
265b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectextern int md5_password (const char *key, char *crypted, int check);
275b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project
285b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project/* For convenience.  */
295b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define check_md5_password(key,crypted)	md5_password((key), (crypted), 1)
305b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define make_md5_password(key,crypted)	md5_password((key), (crypted), 0)
31