Hanna
Sourcecode Batteriemanagementsystem
sd_raw.h
gehe zur Dokumentation dieser Datei
1 
15 /*
16  * Copyright (c) 2006-2011 by Roland Riegel <feedback@roland-riegel.de>
17  *
18  * This file is free software; you can redistribute it and/or modify
19  * it under the terms of either the GNU General Public License version 2
20  * or the GNU Lesser General Public License version 2.1, both as
21  * published by the Free Software Foundation.
22  */
23 
24 #ifndef SD_RAW_H
25 #define SD_RAW_H
26 
27 
28 #include <stdint.h>
29 #include "sd_raw_config.h"
30 
31 
35 #define XMEGA 1
36 
41 #define SD_RAW_FORMAT_HARDDISK 0
42 
45 #define SD_RAW_FORMAT_SUPERFLOPPY 1
46 
49 #define SD_RAW_FORMAT_UNIVERSAL 2
50 
53 #define SD_RAW_FORMAT_UNKNOWN 3
54 
60 {
64  uint8_t manufacturer;
68  uint8_t oem[3];
72  uint8_t product[6];
78  uint8_t revision;
82  uint32_t serial;
96  offset_t capacity;
102  uint8_t flag_copy;
124  uint8_t format;
125 };
126 
127 typedef uint8_t (*sd_raw_read_interval_handler_t)(uint8_t* buffer, offset_t offset, void* p);
128 typedef uintptr_t (*sd_raw_write_interval_handler_t)(uint8_t* buffer, offset_t offset, void* p);
129 
130 uint8_t sd_raw_init();
131 uint8_t sd_raw_available();
132 uint8_t sd_raw_locked();
133 
134 uint8_t sd_raw_read(offset_t offset, uint8_t* buffer, uintptr_t length);
135 uint8_t sd_raw_read_interval(offset_t offset, uint8_t* buffer, uintptr_t interval, uintptr_t length, sd_raw_read_interval_handler_t callback, void* p);
136 uint8_t sd_raw_write(offset_t offset, const uint8_t* buffer, uintptr_t length);
137 uint8_t sd_raw_write_interval(offset_t offset, uint8_t* buffer, uintptr_t length, sd_raw_write_interval_handler_t callback, void* p);
138 uint8_t sd_raw_sync();
139 
140 uint8_t sd_raw_get_info(struct sd_raw_info* info);
141 
142 
143 #endif
144 
uint8_t format
Definition: sd_raw.h:124
uint8_t sd_raw_read_interval(offset_t offset, uint8_t *buffer, uintptr_t interval, uintptr_t length, sd_raw_read_interval_handler_t callback, void *p)
Definition: sd_raw.c:563
uint8_t sd_raw_locked()
Definition: sd_raw.c:343
uint8_t sd_raw_get_info(struct sd_raw_info *info)
Definition: sd_raw.c:848
uint8_t manufacturing_month
Definition: sd_raw.h:92
uint8_t sd_raw_init()
Definition: sd_raw.c:171
uint8_t manufacturer
Definition: sd_raw.h:64
SD-Card Reader Bibliothek von Roland Riegel.
uint8_t flag_copy
Definition: sd_raw.h:102
uint8_t manufacturing_year
Definition: sd_raw.h:88
uint32_t serial
Definition: sd_raw.h:82
offset_t capacity
Definition: sd_raw.h:96
uint8_t sd_raw_read(offset_t offset, uint8_t *buffer, uintptr_t length)
Definition: sd_raw.c:453
uint8_t sd_raw_sync()
Definition: sd_raw.c:822
uint8_t oem[3]
Definition: sd_raw.h:68
uint8_t flag_write_protect
Definition: sd_raw.h:109
uint8_t product[6]
Definition: sd_raw.h:72
uint8_t revision
Definition: sd_raw.h:78
uint8_t sd_raw_write_interval(offset_t offset, uint8_t *buffer, uintptr_t length, sd_raw_write_interval_handler_t callback, void *p)
Definition: sd_raw.c:781
uint8_t flag_write_protect_temp
Definition: sd_raw.h:116
uint8_t sd_raw_available()
Definition: sd_raw.c:332
uint8_t sd_raw_write(offset_t offset, const uint8_t *buffer, uintptr_t length)
Definition: sd_raw.c:673