{
   Copyright (C) 1995 Free Software Foundation, Inc.
   Contributed by James Craig Burley.

This file is part of GNU Fortran.

GNU Fortran 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.

GNU Fortran 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 GNU Fortran; see the file COPYING.  If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.

}

FFESTR_open // // ffestrOpen ffestr_open 1 0
Access ACCESS
Action ACTION
AssociateVariable ASSOCIATEVARIABLE
Blank BLANK
BlockSize BLOCKSIZE
BufferCount BUFFERCOUNT
CarriageControl CARRIAGECONTROL
DefaultFile DEFAULTFILE
Delim DELIM
Disp DISP
Dispose DISPOSE
Err ERR
ExtendSize EXTENDSIZE
File FILE
Form FORM
InitialSize INITIALSIZE
IOStat IOSTAT
Key KEY
MaxRec MAXREC
Name NAME
NoSpanBlocks NOSPANBLOCKS
Organization ORGANIZATION
Pad PAD
Position POSITION
Readonly READONLY
Recl RECL
RecordSize RECORDSIZE
RecordType RECORDTYPE
Shared SHARED
Status STATUS
Type TYPE
Unit UNIT
UserOpen USEROPEN
