2N/A/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ 2N/A * Copyright 2008, 2009 by the Massachusetts Institute of Technology. 2N/A * All Rights Reserved. 2N/A * Export of this software from the United States of America may 2N/A * require a specific license from the United States Government. 2N/A * It is the responsibility of any person or organization contemplating 2N/A * export to obtain such a license before exporting. 2N/A * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and 2N/A * distribute this software and its documentation for any purpose and 2N/A * without fee is hereby granted, provided that the above copyright 2N/A * notice appear in all copies and that both that copyright notice and 2N/A * this permission notice appear in supporting documentation, and that 2N/A * the name of M.I.T. not be used in advertising or publicity pertaining 2N/A * to distribution of the software without specific, written prior 2N/A * permission. Furthermore if you modify this software you must label 2N/A * your software as modified software and not distribute it in such a 2N/A * fashion that it might be confused with the original M.I.T. software. 2N/A * M.I.T. makes no representations about the suitability of 2N/A * this software for any purpose. It is provided "as is" without express 2N/A * or implied warranty. 2N/A * Returns an alias into the current buffer if the next block is fully 2N/A * contained within; otherwise makes a copy of the next block and returns an 2N/A * alias to storage. After calling this function, encrypt the returned block 2N/A * in place and then call iov_store_block (with a separate output cursor) to 2N/A * store the result back into the iov if necessary. Returns NULL if there 2N/Astatic inline unsigned char *
2N/A /* Return an alias to memory inside the current iov. */ 2N/A /* Do it the slow way and return a copy into storage. */ 2N/A * Store a block retrieved with iov_next_block if necessary, and advance the 2N/A /* We got the block the slow way; put it back that way too. */ 2N/A /* It's already stored; we just have to advance the output cursor. */