From 640552eff1b6a77315124b36788cf45e4ed350c8 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Tue, 17 Jun 1997 04:05:45 +0000 Subject: Replaced by storeio. --- devio/window.h | 84 ---------------------------------------------------------- 1 file changed, 84 deletions(-) delete mode 100644 devio/window.h (limited to 'devio/window.h') diff --git a/devio/window.h b/devio/window.h deleted file mode 100644 index c15ebd9e..00000000 --- a/devio/window.h +++ /dev/null @@ -1,84 +0,0 @@ -/* Window management routines for buffered I/O using VM. - - Copyright (C) 1995 Free Software Foundation, Inc. - - Written by Miles Bader - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2, or (at - your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifndef __WINDOW_H__ -#define __WINDOW_H__ - -#include - -/* ---------------------------------------------------------------- */ - -/* A structure describing a memory window used to do buffered random access - device i/o through the device pager. */ -struct window -{ - /* The currently allocated vm window backed by the device pager. */ - vm_address_t buffer; - - /* The device offset of the window. */ - vm_offset_t pos; - /* The end of the device. */ - vm_offset_t max_pos; - - /* The length of the window (should be a multiple of __vm_page_size). If - this is 0, this window isn't allocated. */ - vm_size_t size; - /* If SIZE < MIN_SIZE we won't shrink the window. */ - vm_size_t min_size; - /* If SIZE > MAX_SIZE, we'll try and shrink the window to fit. */ - vm_size_t max_size; - - /* The device pager providing backing store for this window. */ - mach_port_t memobj; - /* True if the mapping should be read_only. */ - int read_only; - - /* Lock this if you want to read/write some field(s) here. */ - struct mutex lock; -}; - -/* Create a VM window onto the memory object MEMOBJ, and return it in WIN. - MIN_SIZE and MAX_SIZE are the minimum and maximum sizes that the window - will shrink/grow to. */ -error_t window_create(mach_port_t memobj, vm_offset_t max_pos, - vm_size_t min_size, vm_size_t max_size, int read_only, - struct window **win); - -/* Free WIN and any resources it holds. */ -void window_free(struct window *win); - -/* Write up to BUF_LEN bytes from BUF to the device that WIN is a window on, - at offset *OFFS, using memory-mapped buffered I/O. If successful, 0 is - returned, otherwise an error code is returned. *OFFS is incremented by - the amount sucessfully written. */ -error_t window_write(struct window *win, - vm_address_t buf, vm_size_t buf_len, vm_size_t *amount, - vm_offset_t *offs); - -/* Read up to AMOUNT bytes from the device that WIN is a window on, at offset - *OFFS, into BUF and BUF_LEN (using the standard mach out-array - conventions), using memory-mapped buffered I/O. If successful, 0 is - returned, otherwise an error code is returned. *OFFS is incremented by - the amount sucessfully written. */ -error_t window_read(struct window *win, - vm_address_t *buf, vm_size_t *buf_len, - vm_size_t amount, vm_offset_t *offs); - -#endif /* !__WINDOW_H__ */ -- cgit v1.2.3