muse_builtin_fileport.c File Reference

#include "muse_port.h"
#include <stdlib.h>
#include <memory.h>

Include dependency graph for muse_builtin_fileport.c:


Data Structures

struct  fileport_t
struct  fileport_type_t

Functions

static void write_utf8_header (fileport_t *p)
static void discard_utf8_header (fileport_t *p)
static void check_for_ezscheme_file (fileport_t *p)
static void fileport_init (void *ptr, muse_cell args)
static void fileport_destroy (void *ptr)
static void fileport_close (void *ptr)
static size_t fileport_read (void *buffer, size_t nbytes, void *port)
static size_t fileport_write (void *buffer, size_t nbytes, void *port)
static int fileport_flush (void *port)
muse_port_t muse_stdport (muse_stdport_t descriptor)
static muse_cell fn_open_file (muse_env *env, void *context, muse_cell args)
 (open-file "filename.txt" ['for-reading 'for-writing]).
static muse_cell fn_destroy_stdports (muse_env *env, void *context, muse_cell args)
 The destructor that will be called at environment destruction time to free up the standard ports.
void muse_define_builtin_fileport ()
 Adds all file port definitions such as "open-file".
muse_port_t muse_assign_port (FILE *f, int mode)
 Creates a port definition that you can use to read/write stuff from a given file pointer.
void muse_unassign_port (muse_port_t p)
 Unassigns a file port which was earlier assigned using muse_assign_port.
muse_cell muse_load (FILE *f)
 Reads all symbolic expressions in the stream and evaluates them one by one, until end of stream.

Variables

static fileport_type_t g_fileport_type
static fileport_type_t g_port_type_stdin
static fileport_type_t g_port_type_stdout
static fileport_t g_muse_stdports [3]

Detailed Description

Author:
Srikumar K. S. (mailto:kumar@muvee.com)
Copyright (c) 2006 Jointly owned by Srikumar K. S. and muvee Technologies Pte. Ltd.

All rights reserved. See LICENSE.txt distributed with this source code or http://muvee-symbolic-expressions.googlecode.com/svn/trunk/LICENSE.txt for terms and conditions under which this software is provided to you.

Implements file ports - a wrapper for I/O using FILE*.


Generated on Mon Sep 25 23:12:47 2006 for muSE by  doxygen 1.4.7