zap.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
158190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Copyright (c) 2011 The Chromium Authors. All rights reserved.
258190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Use of this source code is governed by a BSD-style license that can be
358190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// found in the LICENSE file.
458190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
558190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger#ifndef NET_BASE_ZAP_H_
658190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger#define NET_BASE_ZAP_H_
758190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
858190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger#include <string>
958190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger#include "base/string16.h"
1058190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
1158190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergernamespace net {
1258190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
1358190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Zap functions are used to clear sensitive data in RAM to minimize the
1458190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// time that people can access them once they are written to disk.
1558190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
1658190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Overwrite a buffer  with 0's.
1758190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergervoid ZapBuf(void* buf, size_t buf_len);
1858190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
1958190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Overwrite a string's internal buffer with 0's.
2058190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergervoid ZapString(std::string* s);
2158190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
2258190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Overwrite a string16's internal buffer with 0's.
2358190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergervoid ZapString(string16* s);
2458190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
2558190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger}  // net
2658190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
2758190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger#endif  // NET_BASE_ZAP_H_
2858190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger