test

Dependents:   robotic_fish_6

Committer:
juansal12
Date:
Fri Dec 03 23:00:34 2021 +0000
Revision:
0:c792b17d9f78
uploaded sofi code ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
juansal12 0:c792b17d9f78 1 /* mbed Microcontroller Library
juansal12 0:c792b17d9f78 2 * Copyright (c) 2006-2013 ARM Limited
juansal12 0:c792b17d9f78 3 *
juansal12 0:c792b17d9f78 4 * Licensed under the Apache License, Version 2.0 (the "License");
juansal12 0:c792b17d9f78 5 * you may not use this file except in compliance with the License.
juansal12 0:c792b17d9f78 6 * You may obtain a copy of the License at
juansal12 0:c792b17d9f78 7 *
juansal12 0:c792b17d9f78 8 * http://www.apache.org/licenses/LICENSE-2.0
juansal12 0:c792b17d9f78 9 *
juansal12 0:c792b17d9f78 10 * Unless required by applicable law or agreed to in writing, software
juansal12 0:c792b17d9f78 11 * distributed under the License is distributed on an "AS IS" BASIS,
juansal12 0:c792b17d9f78 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
juansal12 0:c792b17d9f78 13 * See the License for the specific language governing permissions and
juansal12 0:c792b17d9f78 14 * limitations under the License.
juansal12 0:c792b17d9f78 15 */
juansal12 0:c792b17d9f78 16 #ifndef MBED_FILEBASE_H
juansal12 0:c792b17d9f78 17 #define MBED_FILEBASE_H
juansal12 0:c792b17d9f78 18
juansal12 0:c792b17d9f78 19 typedef int FILEHANDLE;
juansal12 0:c792b17d9f78 20
juansal12 0:c792b17d9f78 21 #include <stdio.h>
juansal12 0:c792b17d9f78 22
juansal12 0:c792b17d9f78 23 #if defined(__ARMCC_VERSION) || defined(__ICCARM__)
juansal12 0:c792b17d9f78 24 # define O_RDONLY 0
juansal12 0:c792b17d9f78 25 # define O_WRONLY 1
juansal12 0:c792b17d9f78 26 # define O_RDWR 2
juansal12 0:c792b17d9f78 27 # define O_CREAT 0x0200
juansal12 0:c792b17d9f78 28 # define O_TRUNC 0x0400
juansal12 0:c792b17d9f78 29 # define O_APPEND 0x0008
juansal12 0:c792b17d9f78 30
juansal12 0:c792b17d9f78 31 # define NAME_MAX 255
juansal12 0:c792b17d9f78 32
juansal12 0:c792b17d9f78 33 typedef int mode_t;
juansal12 0:c792b17d9f78 34 typedef int ssize_t;
juansal12 0:c792b17d9f78 35 typedef long off_t;
juansal12 0:c792b17d9f78 36
juansal12 0:c792b17d9f78 37 #else
juansal12 0:c792b17d9f78 38 # include <sys/fcntl.h>
juansal12 0:c792b17d9f78 39 # include <sys/types.h>
juansal12 0:c792b17d9f78 40 # include <sys/syslimits.h>
juansal12 0:c792b17d9f78 41 #endif
juansal12 0:c792b17d9f78 42
juansal12 0:c792b17d9f78 43 #include "platform.h"
juansal12 0:c792b17d9f78 44
juansal12 0:c792b17d9f78 45 namespace mbed {
juansal12 0:c792b17d9f78 46
juansal12 0:c792b17d9f78 47 typedef enum {
juansal12 0:c792b17d9f78 48 FilePathType,
juansal12 0:c792b17d9f78 49 FileSystemPathType
juansal12 0:c792b17d9f78 50 } PathType;
juansal12 0:c792b17d9f78 51
juansal12 0:c792b17d9f78 52 class FileBase {
juansal12 0:c792b17d9f78 53 public:
juansal12 0:c792b17d9f78 54 FileBase(const char *name, PathType t);
juansal12 0:c792b17d9f78 55
juansal12 0:c792b17d9f78 56 virtual ~FileBase();
juansal12 0:c792b17d9f78 57
juansal12 0:c792b17d9f78 58 const char* getName(void);
juansal12 0:c792b17d9f78 59 PathType getPathType(void);
juansal12 0:c792b17d9f78 60
juansal12 0:c792b17d9f78 61 static FileBase *lookup(const char *name, unsigned int len);
juansal12 0:c792b17d9f78 62
juansal12 0:c792b17d9f78 63 static FileBase *get(int n);
juansal12 0:c792b17d9f78 64
juansal12 0:c792b17d9f78 65 protected:
juansal12 0:c792b17d9f78 66 static FileBase *_head;
juansal12 0:c792b17d9f78 67
juansal12 0:c792b17d9f78 68 FileBase *_next;
juansal12 0:c792b17d9f78 69 const char *_name;
juansal12 0:c792b17d9f78 70 PathType _path_type;
juansal12 0:c792b17d9f78 71
juansal12 0:c792b17d9f78 72 /* disallow copy constructor and assignment operators */
juansal12 0:c792b17d9f78 73 private:
juansal12 0:c792b17d9f78 74 FileBase(const FileBase&);
juansal12 0:c792b17d9f78 75 FileBase & operator = (const FileBase&);
juansal12 0:c792b17d9f78 76 };
juansal12 0:c792b17d9f78 77
juansal12 0:c792b17d9f78 78 } // namespace mbed
juansal12 0:c792b17d9f78 79
juansal12 0:c792b17d9f78 80 #endif