Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7926 → Rev 7927

/programs/develop/backy/Backy-lib.h
2,14 → 2,7
#ifndef __jxl_Date_get_h__
#define __jxl_Date_get_h__
 
typedef unsigned int uint32_t;
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned long long uint64_t;
typedef char int8_t;
typedef short int int16_t;
typedef int int32_t;
typedef long long int64_t;
#include <stdint.h>
 
static inline uint32_t getDate(void)
{
44,18 → 37,30
{
int32_t val;
 
uint8_t dt[28]; // basic information structure.
struct file_op_t
{
uint32_t fn;
uint32_t reserved0;
uint32_t reserved1;
uint32_t number_of_bytes_to_write;
void * pointer_to_data;
char path[1];
} *file_op = calloc(sizeof(*file_op) + strlen(path) + 2, 1); // FIXME: Not works on UTF16LE enc
 
(uint32_t) dt[0] = 2; // subfunction number.
(uint32_t) dt[4] = 0; // reserved.
(uint32_t) dt[8] = 0; // reserved.
(uint32_t) dt[12] = nbytes; // number of bytes to write.
(uint8_t *) dt[16] = data; // pointer to data.
(uint32_t) dt[20] = enc; // string encoding (0 = default, 1 = cp866, 2 = UTF-16LE, 3 = UTF-8).
(uint8_t *) dt[24] = path; // pointer to path.
file_op->fn = 2;
file_op->number_of_bytes_to_write = nbytes;
file_op->pointer_to_data = data;
if (enc != 0)
{
file_op->path[0] = enc;
strcpy(file_op->path + 1, path);
}
else
{
strcpy(file_op->path, path);
}
 
__asm__ __volatile__("int $0x40":"=a"(val):"a"(80), "b"(&dt));
 
asm volatile ("int $0x40":"=a"(val):"a"(80), "b"(file_op));
return val;
}