Add 2011 user-space experiments: MemManager, luxTime, luxKeyboardHandler, Memtest, luxOS and ctaos projects

This commit is contained in:
jenkins committed 2011-10-15 16:31:58 +03:00
1 parent 93ec3e6368
commit 7df26cb1a9
63 files changed
+5518

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
# This code depends on make tool being used
DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
ifneq (${DEPFILES},)
include ${DEPFILES}
endif
+128
View File
@@ -0,0 +1,128 @@
#
# There exist several targets which are by default empty and which can be
# used for execution of your targets. These targets are usually executed
# before and after some main targets. They are:
#
# .build-pre: called before 'build' target
# .build-post: called after 'build' target
# .clean-pre: called before 'clean' target
# .clean-post: called after 'clean' target
# .clobber-pre: called before 'clobber' target
# .clobber-post: called after 'clobber' target
# .all-pre: called before 'all' target
# .all-post: called after 'all' target
# .help-pre: called before 'help' target
# .help-post: called after 'help' target
#
# Targets beginning with '.' are not intended to be called on their own.
#
# Main targets can be executed directly, and they are:
#
# build build a specific configuration
# clean remove built files from a configuration
# clobber remove all built files
# all build all configurations
# help print help mesage
#
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
# .help-impl are implemented in nbproject/makefile-impl.mk.
#
# Available make variables:
#
# CND_BASEDIR base directory for relative paths
# CND_DISTDIR default top distribution directory (build artifacts)
# CND_BUILDDIR default top build directory (object files, ...)
# CONF name of current configuration
# CND_PLATFORM_${CONF} platform name (current configuration)
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
#
# NOCDDL
# Environment
MKDIR=mkdir
CP=cp
CCADMIN=CCadmin
# build
build: .build-post
.build-pre:
# Add your pre 'build' code here...
.build-post: .build-impl
# Add your post 'build' code here...
# clean
clean: .clean-post
.clean-pre:
# Add your pre 'clean' code here...
.clean-post: .clean-impl
# Add your post 'clean' code here...
# clobber
clobber: .clobber-post
.clobber-pre:
# Add your pre 'clobber' code here...
.clobber-post: .clobber-impl
# Add your post 'clobber' code here...
# all
all: .all-post
.all-pre:
# Add your pre 'all' code here...
.all-post: .all-impl
# Add your post 'all' code here...
# build tests
build-tests: .build-tests-post
.build-tests-pre:
# Add your pre 'build-tests' code here...
.build-tests-post: .build-tests-impl
# Add your post 'build-tests' code here...
# run tests
test: .test-post
.test-pre:
# Add your pre 'test' code here...
.test-post: .test-impl
# Add your post 'test' code here...
# help
help: .help-post
.help-pre:
# Add your pre 'help' code here...
.help-post: .help-impl
# Add your post 'help' code here...
# include project implementation makefile
include nbproject/Makefile-impl.mk
# include project make variables
include nbproject/Makefile-variables.mk
+162
View File
@@ -0,0 +1,162 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "manager.h"
char* Commands[] =
{
"", //0
"hello", //1
"exit", //2
"params", //3
"alloc", //4
"free", //5
"help", //6
"dump", //7
"find", //8
"split", //9
"concat" //10
};
int CommandsCount = 11;
unsigned atox(char* str)
{
char num[] = "0123456789ABCDEF";
int i, len = strlen(str), res=0, a;
for (i=0; i < len; i++)
{
if (str[i]>='0' && str[i]<='9') a=str[i]-'0';
else if (str[i]>='A' && str[i]<='Z') a=10+str[i]-'A';
else if (str[i]>='a' && str[i]<='z') a=10+str[i]-'a';
else return res;
res = (res<<4)|a;
}
return res;
}
int main()
{
char buffer[256];
char *command[16];
printf("Welcome to the console :)");
Install(0x100000, 0x10000);
for(;;)
{
// Read input
printf("\n> ");
fgets(buffer, 256, stdin);
// Process input
int i=0, len = strlen(buffer);
int cmds = 0;
while (i < len && cmds < 16)
{
while (isspace(buffer[i]) && i<len) buffer[i++]=0;
if (i < len) command[cmds++] = &buffer[i];
while (!isspace(buffer[i]) && i < len) {
buffer[i] = tolower(buffer[i]); i++;
}
}
// Find command
int index;
unsigned sz;
for (index = 0; index < CommandsCount && strcmp(command[0], Commands[index]) != 0; index++) ;
// Commands
switch (index)
{
// Empty
case 0: printf("You must enter a command!\n"); break;
// Hello
case 1: printf("That's right :P! Hello from here\n"); break;
// Exit
case 2: printf("Good bye...\n"); return 0;
// Params
case 3: for (i=0; i<cmds; i++)
printf("Param [%d]: %s\n", i, command[i]);
break;
// Alloc
case 4:
if (cmds < 2) {
printf("Missing parameter - size\n"); break;
}
sz = atox(command[1]);
sz = Alloc(sz);
if (!sz) printf("! Insufficient memory\n");
else printf("Allocated block at 0x%x.\n", sz);
break;
// Free
case 5:
if (cmds < 2) {
printf("Missing parameter - size\n"); break;
}
sz = atox(command[1]);
int r = Free(sz);
if (r<0) printf("! Block not found, or address is null.\n");
else printf("Block freed.\n");
break;
// Help
case 6:
printf("Available commands:\n");
for (i=1; i<CommandsCount; i++)
printf(" - %s\n", Commands[i]);
break;
// Dump
case 7:
printf("Memory map:\n");
Dump();
break;
// find
case 8:
if (cmds < 2) {
printf("Missing parameter - size\n"); break;
}
sz = atox(command[1]);
sz = _bsearch(sz);
printf("Returned position %d.\n", sz);
break;
// split
case 9:
if (cmds < 2) {
printf("Missing parameter - address\n"); break;
}
sz = atox(command[1]);
int res = MemSplit(sz);
printf("Block %d was split.\n", res);
break;
// concat
case 10:
if (cmds < 2) {
printf("Missing parameter - block number\n"); break;
}
sz = atoi (command[1]);
MemConcat(sz, 0);
printf("Done.\n");
break;
// None
default: printf("! Unknown command - %s\n", command[0]); break;
}
}
}
+150
View File
@@ -0,0 +1,150 @@
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "manager.h"
unsigned TotalMemory;
MemoryBlock* Memory;
unsigned TotalBlocks;
void Install(unsigned AvailableMemory, unsigned Reserved)
{
TotalMemory = AvailableMemory;
Memory = malloc(2*sizeof(MemoryBlock));
Memory[0].Address = 0;
Memory[0].Length = Reserved;
Memory[0].Used = 1;
Memory[1].Address = Reserved;
Memory[1].Length = (AvailableMemory - Reserved);
Memory[1].Used = 0;
TotalBlocks = 2;
}
unsigned Alloc(unsigned size)
{
// Find a block big enough
int i;
for (i = TotalBlocks-1; i >= 0 && (Memory[i].Used || Memory[i].Length<size); i--) ;
// Return null if nothing found
if (i <= 0 || !size) return 0;
// Allocate block
if (Memory[i].Length != size)
{
Memory = realloc(Memory, sizeof(MemoryBlock)*(TotalBlocks+1));
int k;
for (k = TotalBlocks-1; k >= i; k--)
Memory[k+1] = Memory[k];
Memory[i].Length -= size;
Memory[i+1].Address += Memory[i].Length;
i++; TotalBlocks++;
}
Memory[i].Length = size;
Memory[i].Used = 1;
return Memory[i].Address;
}
int _bsearch(unsigned address)
{
int i, step;
for (step = 1; step < TotalBlocks; step <<= 1);
for (i = 0; step; step >>= 1)
if (i + step < TotalBlocks && Memory[i + step].Address <= address)
i += step;
return ((address == Memory[i].Address) ? i : -1);
}
int Free(unsigned address)
{
int loc=_bsearch(address), i;
if (address == 0 || loc == -1 || Memory[loc].Used==0) return -1;
Memory[loc].Used = 0;
if (Memory[loc-1].Used == 0)
{
Memory[loc-1].Length += Memory[loc].Length;
for (i=loc; i<TotalBlocks-1; i++)
Memory[i] = Memory[i+1];
Memory = realloc(Memory, sizeof(MemoryBlock)*(TotalBlocks-1));
loc--; TotalBlocks--;
}
if (Memory[loc+1].Used == 0)
{
Memory[loc].Length += Memory[loc+1].Length;
for (i=loc+1; i<TotalBlocks-1; i++)
Memory[i] = Memory[i+1];
Memory = realloc(Memory, sizeof(MemoryBlock)*(TotalBlocks-1));
TotalBlocks--;
}
return 0;
}
// Splits the block that contains 'address'
int MemSplit (unsigned address)
{
if (address > TotalMemory) return -1;
// Find the block
int i;
for (i = 0; i < TotalBlocks && address > Memory[i].Address+Memory[i].Length; i++);
// Insert a new block in between
Memory = realloc(Memory, sizeof(MemoryBlock)*(TotalBlocks+1));
int j;
for (j = TotalBlocks-1; j >= i; j--)
Memory[j+1] = Memory[j];
// Set the data
Memory[i+1].Address = address;
Memory[i].Length = address - Memory[i].Address;
Memory[i+1].Length -= Memory[i].Length;
TotalBlocks++;
return i;
}
// Concatenates 'block' with the next one
void MemConcat (int block, unsigned char new_flags)
{
Memory[block].Length += Memory[block+1].Length;
// TODO: Set flags
int i;
for (i = TotalBlocks-2; i>block; i--)
Memory[i] = Memory[i+1];
Memory = realloc(Memory, sizeof(MemoryBlock)*(TotalBlocks-1));
TotalBlocks--;
}
void Dump()
{
int i;
printf("Total memory: 0x%x (%u bytes)\n", TotalMemory, TotalMemory);
for (i=0; i<TotalBlocks; i++)
printf("MemoryBlock address=%x size=%x used=%u\n", Memory[i].Address, Memory[i].Length, Memory[i].Used);
}
+26
View File
@@ -0,0 +1,26 @@
/*
* File: manager.h
* Author: tiberiu
*
* Created on April 5, 2011, 10:20 PM
*/
#ifndef MANAGER_H
#define MANAGER_H
typedef struct
{
uint Address;
uint Length;
unsigned char Used;
unsigned char Reserved;
} MemoryBlock;
unsigned Alloc(unsigned size);
int Free(unsigned address);
void Dump();
int MemSplit (unsigned address);
#endif /* MANAGER_H */
@@ -0,0 +1,88 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc
CCC=g++
CXX=g++
FC=
AS=as
# Macros
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Debug
CND_DISTDIR=dist
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES= \
${OBJECTDIR}/main.o \
${OBJECTDIR}/manager.o
# C Compiler Flags
CFLAGS=
# CC Compiler Flags
CCFLAGS=
CXXFLAGS=
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
"${MAKE}" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/memmanager
dist/Debug/GNU-Linux-x86/memmanager: ${OBJECTFILES}
${MKDIR} -p dist/Debug/GNU-Linux-x86
${LINK.c} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/memmanager ${OBJECTFILES} ${LDLIBSOPTIONS}
${OBJECTDIR}/main.o: main.c
${MKDIR} -p ${OBJECTDIR}
${RM} $@.d
$(COMPILE.c) -g -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.c
${OBJECTDIR}/manager.o: manager.c
${MKDIR} -p ${OBJECTDIR}
${RM} $@.d
$(COMPILE.c) -g -MMD -MP -MF $@.d -o ${OBJECTDIR}/manager.o manager.c
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
${RM} -r build/Debug
${RM} dist/Debug/GNU-Linux-x86/memmanager
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
@@ -0,0 +1,88 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc
CCC=g++
CXX=g++
FC=
AS=as
# Macros
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Release
CND_DISTDIR=dist
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES= \
${OBJECTDIR}/main.o \
${OBJECTDIR}/manager.o
# C Compiler Flags
CFLAGS=
# CC Compiler Flags
CCFLAGS=
CXXFLAGS=
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
"${MAKE}" -f nbproject/Makefile-Release.mk dist/Release/GNU-Linux-x86/memmanager
dist/Release/GNU-Linux-x86/memmanager: ${OBJECTFILES}
${MKDIR} -p dist/Release/GNU-Linux-x86
${LINK.c} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/memmanager ${OBJECTFILES} ${LDLIBSOPTIONS}
${OBJECTDIR}/main.o: main.c
${MKDIR} -p ${OBJECTDIR}
${RM} $@.d
$(COMPILE.c) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.c
${OBJECTDIR}/manager.o: manager.c
${MKDIR} -p ${OBJECTDIR}
${RM} $@.d
$(COMPILE.c) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/manager.o manager.c
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
${RM} -r build/Release
${RM} dist/Release/GNU-Linux-x86/memmanager
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
+133
View File
@@ -0,0 +1,133 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a pre- and a post- target defined where you can add customization code.
#
# This makefile implements macros and targets common to all configurations.
#
# NOCDDL
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
# and .clean-reqprojects-conf unless SUB has the value 'no'
SUB_no=NO
SUBPROJECTS=${SUB_${SUB}}
BUILD_SUBPROJECTS_=.build-subprojects
BUILD_SUBPROJECTS_NO=
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
CLEAN_SUBPROJECTS_=.clean-subprojects
CLEAN_SUBPROJECTS_NO=
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
# Project Name
PROJECTNAME=MemManager
# Active Configuration
DEFAULTCONF=Debug
CONF=${DEFAULTCONF}
# All Configurations
ALLCONFS=Debug Release
# build
.build-impl: .build-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
# clean
.clean-impl: .clean-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
# clobber
.clobber-impl: .clobber-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
done
# all
.all-impl: .all-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
done
# build tests
.build-tests-impl: .build-impl .build-tests-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
# run tests
.test-impl: .build-tests-impl .test-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
# dependency checking support
.depcheck-impl:
@echo "# This code depends on make tool being used" >.dep.inc
@if [ -n "${MAKE_VERSION}" ]; then \
echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
echo "include \$${DEPFILES}" >>.dep.inc; \
echo "endif" >>.dep.inc; \
else \
echo ".KEEP_STATE:" >>.dep.inc; \
echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
fi
# configuration validation
.validate-impl:
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
echo ""; \
echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
echo "See 'make help' for details."; \
echo "Current directory: " `pwd`; \
echo ""; \
fi
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
exit 1; \
fi
# help
.help-impl: .help-pre
@echo "This makefile supports the following configurations:"
@echo " ${ALLCONFS}"
@echo ""
@echo "and the following targets:"
@echo " build (default target)"
@echo " clean"
@echo " clobber"
@echo " all"
@echo " help"
@echo ""
@echo "Makefile Usage:"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
@echo " make [SUB=no] clobber"
@echo " make [SUB=no] all"
@echo " make help"
@echo ""
@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
@echo " also clean subprojects."
@echo "Target 'clobber' will remove all built files from all configurations and,"
@echo " unless 'SUB=no', also from subprojects."
@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'help' prints this message."
@echo ""
@@ -0,0 +1,24 @@
#
# Generated - do not edit!
#
# NOCDDL
#
CND_BASEDIR=`pwd`
CND_BUILDDIR=build
CND_DISTDIR=dist
# Debug configuration
CND_PLATFORM_Debug=GNU-Linux-x86
CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
CND_ARTIFACT_NAME_Debug=memmanager
CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/memmanager
CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
CND_PACKAGE_NAME_Debug=memmanager.tar
CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/memmanager.tar
# Release configuration
CND_PLATFORM_Release=GNU-Linux-x86
CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
CND_ARTIFACT_NAME_Release=memmanager
CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/memmanager
CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
CND_PACKAGE_NAME_Release=memmanager.tar
CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/memmanager.tar
@@ -0,0 +1,74 @@
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Debug
CND_DISTDIR=dist
NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/memmanager
OUTPUT_BASENAME=memmanager
PACKAGE_TOP_DIR=memmanager/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/memmanager/bin"
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/memmanager.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/memmanager.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
@@ -0,0 +1,74 @@
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Release
CND_DISTDIR=dist
NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/memmanager
OUTPUT_BASENAME=memmanager
PACKAGE_TOP_DIR=memmanager/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/memmanager/bin"
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/memmanager.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/memmanager.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="69">
<logicalFolder name="root" displayName="root" projectFiles="true">
<logicalFolder name="HeaderFiles"
displayName="Header Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
<itemPath>manager.h</itemPath>
</logicalFolder>
<logicalFolder name="ResourceFiles"
displayName="Resource Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
</logicalFolder>
<logicalFolder name="SourceFiles"
displayName="Source Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
<itemPath>main.c</itemPath>
<itemPath>manager.c</itemPath>
</logicalFolder>
<logicalFolder name="TestFiles"
displayName="Test Files"
projectFiles="false"
kind="TEST_LOGICAL_FOLDER">
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
projectFiles="false"
kind="IMPORTANT_FILES_FOLDER">
<itemPath>Makefile</itemPath>
</logicalFolder>
</logicalFolder>
<projectmakefile>Makefile</projectmakefile>
<confs>
<conf name="Debug" type="1">
<toolsSet>
<developmentServer>localhost</developmentServer>
<compilerSet>GNU|GNU</compilerSet>
<platform>2</platform>
</toolsSet>
<compileType>
</compileType>
</conf>
<conf name="Release" type="1">
<toolsSet>
<developmentServer>localhost</developmentServer>
<compilerSet>GNU|GNU</compilerSet>
<platform>2</platform>
</toolsSet>
<compileType>
<cTool>
<developmentMode>5</developmentMode>
</cTool>
<ccTool>
<developmentMode>5</developmentMode>
</ccTool>
<fortranCompilerTool>
<developmentMode>5</developmentMode>
</fortranCompilerTool>
<asmTool>
<developmentMode>5</developmentMode>
</asmTool>
</compileType>
</conf>
</confs>
</configurationDescriptor>
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.cnd.makeproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/make-project/1">
<name>MemManager</name>
<make-project-type>0</make-project-type>
<c-extensions>c</c-extensions>
<cpp-extensions/>
<header-extensions>h</header-extensions>
<sourceEncoding>UTF-8</sourceEncoding>
<make-dep-projects/>
<sourceRootList/>
<confList>
<confElem>Debug</confElem>
<confElem>Release</confElem>
</confList>
</data>
</configuration>
</project>
+5
View File
@@ -0,0 +1,5 @@
# This code depends on make tool being used
DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
ifneq (${DEPFILES},)
include ${DEPFILES}
endif
+128
View File
@@ -0,0 +1,128 @@
#
# There exist several targets which are by default empty and which can be
# used for execution of your targets. These targets are usually executed
# before and after some main targets. They are:
#
# .build-pre: called before 'build' target
# .build-post: called after 'build' target
# .clean-pre: called before 'clean' target
# .clean-post: called after 'clean' target
# .clobber-pre: called before 'clobber' target
# .clobber-post: called after 'clobber' target
# .all-pre: called before 'all' target
# .all-post: called after 'all' target
# .help-pre: called before 'help' target
# .help-post: called after 'help' target
#
# Targets beginning with '.' are not intended to be called on their own.
#
# Main targets can be executed directly, and they are:
#
# build build a specific configuration
# clean remove built files from a configuration
# clobber remove all built files
# all build all configurations
# help print help mesage
#
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
# .help-impl are implemented in nbproject/makefile-impl.mk.
#
# Available make variables:
#
# CND_BASEDIR base directory for relative paths
# CND_DISTDIR default top distribution directory (build artifacts)
# CND_BUILDDIR default top build directory (object files, ...)
# CONF name of current configuration
# CND_PLATFORM_${CONF} platform name (current configuration)
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
#
# NOCDDL
# Environment
MKDIR=mkdir
CP=cp
CCADMIN=CCadmin
# build
build: .build-post
.build-pre:
# Add your pre 'build' code here...
.build-post: .build-impl
# Add your post 'build' code here...
# clean
clean: .clean-post
.clean-pre:
# Add your pre 'clean' code here...
.clean-post: .clean-impl
# Add your post 'clean' code here...
# clobber
clobber: .clobber-post
.clobber-pre:
# Add your pre 'clobber' code here...
.clobber-post: .clobber-impl
# Add your post 'clobber' code here...
# all
all: .all-post
.all-pre:
# Add your pre 'all' code here...
.all-post: .all-impl
# Add your post 'all' code here...
# build tests
build-tests: .build-tests-post
.build-tests-pre:
# Add your pre 'build-tests' code here...
.build-tests-post: .build-tests-impl
# Add your post 'build-tests' code here...
# run tests
test: .test-post
.test-pre:
# Add your pre 'test' code here...
.test-post: .test-impl
# Add your post 'test' code here...
# help
help: .help-post
.help-pre:
# Add your pre 'help' code here...
.help-post: .help-impl
# Add your post 'help' code here...
# include project implementation makefile
include nbproject/Makefile-impl.mk
# include project make variables
include nbproject/Makefile-variables.mk
+38
View File
@@ -0,0 +1,38 @@
/*
* File: main.c
* Author: Tiberiu
*
* Created on August 18, 2011, 11:40 AM
*/
#include <stdio.h>
#include <stdlib.h>
typedef int int32;
typedef unsigned uint32;
typedef unsigned char uint8;
typedef char* string;
uint32 ConvertStringToUInt (string buffer)
{
int32 pos = 0;
int32 number = 0;
while (buffer[pos] >= '0' && buffer[pos] <= '9')
{
number = number*10 + (buffer[pos] - '0');
pos++;
}
return number;
}
int main(int argc, char** argv) {
printf ("after conversion: %u\n", ConvertStringToUInt("41"));
return (EXIT_SUCCESS);
}
+82
View File
@@ -0,0 +1,82 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc.exe
CCC=g++.exe
CXX=g++.exe
FC=
AS=as.exe
# Macros
CND_PLATFORM=MinGW-Windows
CND_CONF=Debug
CND_DISTDIR=dist
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES= \
${OBJECTDIR}/main.o
# C Compiler Flags
CFLAGS=
# CC Compiler Flags
CCFLAGS=
CXXFLAGS=
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
"${MAKE}" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/memtest.exe
dist/Debug/MinGW-Windows/memtest.exe: ${OBJECTFILES}
${MKDIR} -p dist/Debug/MinGW-Windows
${LINK.c} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/memtest ${OBJECTFILES} ${LDLIBSOPTIONS}
${OBJECTDIR}/main.o: main.c
${MKDIR} -p ${OBJECTDIR}
${RM} $@.d
$(COMPILE.c) -g -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.c
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
${RM} -r build/Debug
${RM} dist/Debug/MinGW-Windows/memtest.exe
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
+82
View File
@@ -0,0 +1,82 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc.exe
CCC=g++.exe
CXX=g++.exe
FC=
AS=as.exe
# Macros
CND_PLATFORM=MinGW-Windows
CND_CONF=Release
CND_DISTDIR=dist
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES= \
${OBJECTDIR}/main.o
# C Compiler Flags
CFLAGS=
# CC Compiler Flags
CCFLAGS=
CXXFLAGS=
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
"${MAKE}" -f nbproject/Makefile-Release.mk dist/Release/MinGW-Windows/memtest.exe
dist/Release/MinGW-Windows/memtest.exe: ${OBJECTFILES}
${MKDIR} -p dist/Release/MinGW-Windows
${LINK.c} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/memtest ${OBJECTFILES} ${LDLIBSOPTIONS}
${OBJECTDIR}/main.o: main.c
${MKDIR} -p ${OBJECTDIR}
${RM} $@.d
$(COMPILE.c) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.c
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
${RM} -r build/Release
${RM} dist/Release/MinGW-Windows/memtest.exe
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
+133
View File
@@ -0,0 +1,133 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a pre- and a post- target defined where you can add customization code.
#
# This makefile implements macros and targets common to all configurations.
#
# NOCDDL
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
# and .clean-reqprojects-conf unless SUB has the value 'no'
SUB_no=NO
SUBPROJECTS=${SUB_${SUB}}
BUILD_SUBPROJECTS_=.build-subprojects
BUILD_SUBPROJECTS_NO=
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
CLEAN_SUBPROJECTS_=.clean-subprojects
CLEAN_SUBPROJECTS_NO=
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
# Project Name
PROJECTNAME=Memtest
# Active Configuration
DEFAULTCONF=Debug
CONF=${DEFAULTCONF}
# All Configurations
ALLCONFS=Debug Release
# build
.build-impl: .build-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
# clean
.clean-impl: .clean-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
# clobber
.clobber-impl: .clobber-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
done
# all
.all-impl: .all-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
done
# build tests
.build-tests-impl: .build-impl .build-tests-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
# run tests
.test-impl: .build-tests-impl .test-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
# dependency checking support
.depcheck-impl:
@echo "# This code depends on make tool being used" >.dep.inc
@if [ -n "${MAKE_VERSION}" ]; then \
echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
echo "include \$${DEPFILES}" >>.dep.inc; \
echo "endif" >>.dep.inc; \
else \
echo ".KEEP_STATE:" >>.dep.inc; \
echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
fi
# configuration validation
.validate-impl:
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
echo ""; \
echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
echo "See 'make help' for details."; \
echo "Current directory: " `pwd`; \
echo ""; \
fi
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
exit 1; \
fi
# help
.help-impl: .help-pre
@echo "This makefile supports the following configurations:"
@echo " ${ALLCONFS}"
@echo ""
@echo "and the following targets:"
@echo " build (default target)"
@echo " clean"
@echo " clobber"
@echo " all"
@echo " help"
@echo ""
@echo "Makefile Usage:"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
@echo " make [SUB=no] clobber"
@echo " make [SUB=no] all"
@echo " make help"
@echo ""
@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
@echo " also clean subprojects."
@echo "Target 'clobber' will remove all built files from all configurations and,"
@echo " unless 'SUB=no', also from subprojects."
@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'help' prints this message."
@echo ""
@@ -0,0 +1,24 @@
#
# Generated - do not edit!
#
# NOCDDL
#
CND_BASEDIR=`pwd`
CND_BUILDDIR=build
CND_DISTDIR=dist
# Debug configuration
CND_PLATFORM_Debug=MinGW-Windows
CND_ARTIFACT_DIR_Debug=dist/Debug/MinGW-Windows
CND_ARTIFACT_NAME_Debug=memtest
CND_ARTIFACT_PATH_Debug=dist/Debug/MinGW-Windows/memtest
CND_PACKAGE_DIR_Debug=dist/Debug/MinGW-Windows/package
CND_PACKAGE_NAME_Debug=memtest.tar
CND_PACKAGE_PATH_Debug=dist/Debug/MinGW-Windows/package/memtest.tar
# Release configuration
CND_PLATFORM_Release=MinGW-Windows
CND_ARTIFACT_DIR_Release=dist/Release/MinGW-Windows
CND_ARTIFACT_NAME_Release=memtest
CND_ARTIFACT_PATH_Release=dist/Release/MinGW-Windows/memtest
CND_PACKAGE_DIR_Release=dist/Release/MinGW-Windows/package
CND_PACKAGE_NAME_Release=memtest.tar
CND_PACKAGE_PATH_Release=dist/Release/MinGW-Windows/package/memtest.tar
+74
View File
@@ -0,0 +1,74 @@
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=MinGW-Windows
CND_CONF=Debug
CND_DISTDIR=dist
NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/memtest
OUTPUT_BASENAME=memtest
PACKAGE_TOP_DIR=memtest/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/memtest/bin"
copyFileToTmpDir "${OUTPUT_PATH}.exe" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}.exe" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/memtest.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/memtest.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
@@ -0,0 +1,74 @@
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=MinGW-Windows
CND_CONF=Release
CND_DISTDIR=dist
NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/memtest
OUTPUT_BASENAME=memtest
PACKAGE_TOP_DIR=memtest/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/memtest/bin"
copyFileToTmpDir "${OUTPUT_PATH}.exe" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}.exe" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/memtest.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/memtest.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
+65
View File
@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="69">
<logicalFolder name="root" displayName="root" projectFiles="true">
<logicalFolder name="HeaderFiles"
displayName="Header Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
</logicalFolder>
<logicalFolder name="ResourceFiles"
displayName="Resource Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
</logicalFolder>
<logicalFolder name="SourceFiles"
displayName="Source Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
<itemPath>main.c</itemPath>
</logicalFolder>
<logicalFolder name="TestFiles"
displayName="Test Files"
projectFiles="false"
kind="TEST_LOGICAL_FOLDER">
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
projectFiles="false"
kind="IMPORTANT_FILES_FOLDER">
<itemPath>Makefile</itemPath>
</logicalFolder>
</logicalFolder>
<projectmakefile>Makefile</projectmakefile>
<confs>
<conf name="Debug" type="1">
<toolsSet>
<developmentServer>localhost</developmentServer>
<compilerSet>MinGW|MinGW</compilerSet>
<platform>3</platform>
</toolsSet>
<compileType>
</compileType>
</conf>
<conf name="Release" type="1">
<toolsSet>
<developmentServer>localhost</developmentServer>
<compilerSet>MinGW|MinGW</compilerSet>
<platform>3</platform>
</toolsSet>
<compileType>
<cTool>
<developmentMode>5</developmentMode>
</cTool>
<ccTool>
<developmentMode>5</developmentMode>
</ccTool>
<fortranCompilerTool>
<developmentMode>5</developmentMode>
</fortranCompilerTool>
<asmTool>
<developmentMode>5</developmentMode>
</asmTool>
</compileType>
</conf>
</confs>
</configurationDescriptor>
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.cnd.makeproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/make-project/1">
<name>Memtest</name>
<make-project-type>0</make-project-type>
<c-extensions>c</c-extensions>
<cpp-extensions/>
<header-extensions/>
<make-dep-projects/>
<sourceRootList/>
<confList>
<confElem>Debug</confElem>
<confElem>Release</confElem>
</confList>
<sourceEncoding>UTF-8</sourceEncoding>
</data>
</configuration>
</project>
+19
View File
@@ -15,3 +15,22 @@ output and NetBeans private settings.
ramdisk writer. The writer's sources are in `Modules/Rom image maker/`; ramdisk writer. The writer's sources are in `Modules/Rom image maker/`;
this is the 2011-09-05 variant of the image, which differs from the copy this is the 2011-09-05 variant of the image, which differs from the copy
stored there. stored there.
## User-space prototypes
Kernel pieces developed and tested as ordinary programs before being ported
into the kernel (2011).
- `MemManager/` (Apr-Jun 2011): physical memory block manager (alloc, free,
split, concatenate) with an interactive console to test it. An earlier
Eclipse version is in `Memory manager/`.
- `luxTime/` (Jun 2011): date and time structure and conversion routines.
- `luxKeyboardHandler/` (Jun 2011): keyboard controller commands and scancode
handling.
- `Memtest/` (Aug 2011): small memory test program.
- `luxOS/` (Jun-Aug 2011): NetBeans project that wraps the kernel tree
(Makefile, build.sh) so the OS could be built from the IDE. Only the project
shell, the sources live in the repository root.
- `ctaos/` (Nov 2010 - Mar 2011): NetBeans project shell for an earlier,
tutorial-based kernel (kernel.c, interrupt, PIT, GDT/IDT/IRQ/PIC sources).
Only the project files survive, the sources are not included.
+45
View File
@@ -0,0 +1,45 @@
# User sets these
CC = gcc
ASM = nasm
CURDIR = /media/6C9EE8DF9EE8A336/ctaos
# Other parameters & paths used
LSCRIPT = SysCore/objects/linker.ld
OBJ = SysCore/objects
CCPARAM = -Wall -O -fstrength-reduce -fomit-frame-pointer -nostdinc -fno-builtin -I./SysCore/include -c
ASMPARAMobj = -f aout
ASMPARAMbin = -f bin
ctaos.img : Build/bootload.bin Build/stage2.cta Build/kernel.bin
dd bs=512 count=2880 if=/dev/zero of=ctaos.img
mkfs.msdos ctaos.img
dd bs=512 count=1 conv=notrunc if=Build/bootload.bin of=ctaos.img
sudo mkdir /media/floppy1/
sudo mount -o loop ctaos.img /media/floppy1/
cp Build/stage2.cta /media/floppy1
cp Build/kernel.bin /media/floppy1
sudo umount /media/floppy1/
sudo rm --force /media/floppy1/
Build/bootload.bin : SysBoot/stage1/bootload.asm
SysBoot/stage1/bootload.asm:
$(ASM) $(ASMPARAMbin) SysBoot/stage1/bootload.asm -o Build/bootload.bin
Build/stage2.cta : SysBoot/stage2/stage2.asm \
SysBoot/stage2/a20.inc \
SysBoot/stage2/bootinfo.inc \
SysBoot/stage2/common.inc \
SysBoot/stage2/fat12.inc \
SysBoot/stage2/floppy16.inc \
SysBoot/stage2/gdt.inc \
SysBoot/stage2/getdata.inc \
SysBoot/stage2/memory.inc \
SysBoot/stage2/paging.inc \
SysBoot/stage2/stdio.inc
$(ASM) $(ASMPARAMbin) -o ./.build/stage2.cta SysBoot/stage2/stage2.asm
Build/kernel.bin :
dd bs=1024 count=20 if=/dev/zero of=.build/kernel.bin
+66
View File
@@ -0,0 +1,66 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc
CCC=g++
CXX=g++
FC=
AS=nasm
# Macros
CND_PLATFORM=GNU-Nasm-Linux-x86
CND_CONF=Default
CND_DISTDIR=dist
# Include project Makefile
include ctaos-Makefile.mk
# Object Directory
OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES=
# C Compiler Flags
CFLAGS=
# CC Compiler Flags
CCFLAGS=
CXXFLAGS=
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
cd /media/6C9EE8DF9EE8A336/ctaos && ${MAKE} -f Makefile
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
cd /media/6C9EE8DF9EE8A336/ctaos && ${MAKE} -f Makefile clean
# Subprojects
.clean-subprojects:
+133
View File
@@ -0,0 +1,133 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a pre- and a post- target defined where you can add customization code.
#
# This makefile implements macros and targets common to all configurations.
#
# NOCDDL
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
# and .clean-reqprojects-conf unless SUB has the value 'no'
SUB_no=NO
SUBPROJECTS=${SUB_${SUB}}
BUILD_SUBPROJECTS_=.build-subprojects
BUILD_SUBPROJECTS_NO=
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
CLEAN_SUBPROJECTS_=.clean-subprojects
CLEAN_SUBPROJECTS_NO=
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
# Project Name
PROJECTNAME=ctaos
# Active Configuration
DEFAULTCONF=Default
CONF=${DEFAULTCONF}
# All Configurations
ALLCONFS=Default
# build
.build-impl: .build-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
# clean
.clean-impl: .clean-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
# clobber
.clobber-impl: .clobber-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
done
# all
.all-impl: .all-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
done
# build tests
.build-tests-impl: .build-impl .build-tests-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
# run tests
.test-impl: .build-tests-impl .test-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
# dependency checking support
.depcheck-impl:
@echo "# This code depends on make tool being used" >.dep.inc
@if [ -n "${MAKE_VERSION}" ]; then \
echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
echo "include \$${DEPFILES}" >>.dep.inc; \
echo "endif" >>.dep.inc; \
else \
echo ".KEEP_STATE:" >>.dep.inc; \
echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
fi
# configuration validation
.validate-impl:
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
echo ""; \
echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
echo "See 'make help' for details."; \
echo "Current directory: " `pwd`; \
echo ""; \
fi
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
exit 1; \
fi
# help
.help-impl: .help-pre
@echo "This makefile supports the following configurations:"
@echo " ${ALLCONFS}"
@echo ""
@echo "and the following targets:"
@echo " build (default target)"
@echo " clean"
@echo " clobber"
@echo " all"
@echo " help"
@echo ""
@echo "Makefile Usage:"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
@echo " make [SUB=no] clobber"
@echo " make [SUB=no] all"
@echo " make help"
@echo ""
@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
@echo " also clean subprojects."
@echo "Target 'clobber' will remove all built files from all configurations and,"
@echo " unless 'SUB=no', also from subprojects."
@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'help' prints this message."
@echo ""
+16
View File
@@ -0,0 +1,16 @@
#
# Generated - do not edit!
#
# NOCDDL
#
CND_BASEDIR=`pwd`
CND_BUILDDIR=build
CND_DISTDIR=dist
# Default configuration
CND_PLATFORM_Default=GNU-Nasm-Linux-x86
CND_ARTIFACT_DIR_Default=/media/6C9EE8DF9EE8A336/ctaos
CND_ARTIFACT_NAME_Default=ctaos.img
CND_ARTIFACT_PATH_Default=/media/6C9EE8DF9EE8A336/ctaos/ctaos.img
CND_PACKAGE_DIR_Default=dist/Default/GNU-Nasm-Linux-x86/package
CND_PACKAGE_NAME_Default=ctaos.tar
CND_PACKAGE_PATH_Default=dist/Default/GNU-Nasm-Linux-x86/package/ctaos.tar
+74
View File
@@ -0,0 +1,74 @@
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=GNU-Nasm-Linux-x86
CND_CONF=Default
CND_DISTDIR=dist
NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=/media/6C9EE8DF9EE8A336/ctaos/ctaos.img
OUTPUT_BASENAME=ctaos.img
PACKAGE_TOP_DIR=ctaos/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/ctaos/bin"
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/ctaos.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/ctaos.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
+859
View File
@@ -0,0 +1,859 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="69">
<logicalFolder name="root" displayName="root" projectFiles="true">
<df name="ctaos" root="/media/6C9EE8DF9EE8A336/ctaos">
<df name="#ARCHIVE" kind="SOURCE_LOGICAL_FOLDER">
<df name="builds" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="Desktop" kind="SOURCE_LOGICAL_FOLDER">
<df name="ctaos" kind="SOURCE_LOGICAL_FOLDER">
<in>kernel.c</in>
</df>
<df name="ctaos++" kind="SOURCE_LOGICAL_FOLDER">
<df name="drivers" kind="SOURCE_LOGICAL_FOLDER">
<in>drivers.h</in>
<in>floppy.h</in>
</df>
<df name="new" kind="SOURCE_LOGICAL_FOLDER">
</df>
<in>console.h</in>
<in>kernel.cpp</in>
<in>keyboard.h</in>
<in>system.h</in>
</df>
<df name="ctaos++.backup" kind="SOURCE_LOGICAL_FOLDER">
<df name="backup" kind="SOURCE_LOGICAL_FOLDER">
<in>console.h</in>
<in>kernel.cpp</in>
<in>startup.h</in>
</df>
</df>
<df name="grub-0.97-i386-pc" kind="SOURCE_LOGICAL_FOLDER">
<df name="boot" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="tctaos++" kind="SOURCE_LOGICAL_FOLDER">
<df name="backup" kind="SOURCE_LOGICAL_FOLDER">
<in>console.h</in>
<in>kernel.cpp</in>
<in>startup.h</in>
</df>
<in>kernel.cpp</in>
</df>
</df>
</df>
<df name="#RalfBrownInterruptList" kind="SOURCE_LOGICAL_FOLDER">
<df name="INT2WHLP" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="INTSUM16" kind="SOURCE_LOGICAL_FOLDER">
<in>KEYCODES.H</in>
</df>
<in>INT.C</in>
<in>INTERRUP.C</in>
<in>INTERRUP.H</in>
<in>INTPRINT.C</in>
<in>PORTS.C</in>
</df>
<df name="#RESOURCES" kind="SOURCE_LOGICAL_FOLDER">
<df name="BrokenThorn OS Development Tutorials" kind="SOURCE_LOGICAL_FOLDER">
<df name="Index_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="os" kind="SOURCE_LOGICAL_FOLDER">
<df name="OSDev0_files" kind="SOURCE_LOGICAL_FOLDER">
<df name="ifr_data" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="OSDev10_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev11_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev12_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev13_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev14_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev15_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev16_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev17_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev18_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev19_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev1_files" kind="SOURCE_LOGICAL_FOLDER">
<df name="ifr_data" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="OSDev20_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev2_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev3_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev4_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev5_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev6_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev7_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev8_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDev9_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDevMSVC_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDevMulti_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDevPic_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDevPit_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDevScanCodes_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="OSDevVga_files" kind="SOURCE_LOGICAL_FOLDER">
<df name="ifr_data" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
</df>
</df>
<df name="PnP" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="vfd21-080206" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="_play" kind="SOURCE_LOGICAL_FOLDER">
<df name="fat16.img" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="stage2" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="Build">
</df>
<df name="floppy" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="help" kind="SOURCE_LOGICAL_FOLDER">
<df name="ckeditor" kind="SOURCE_LOGICAL_FOLDER">
<df name="_samples" kind="SOURCE_LOGICAL_FOLDER">
<df name="api_dialog" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="asp" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="assets" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="php" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="_source" kind="SOURCE_LOGICAL_FOLDER">
<df name="adapters" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="core" kind="SOURCE_LOGICAL_FOLDER">
<df name="dom" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="htmlparser" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="lang" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="plugins" kind="SOURCE_LOGICAL_FOLDER">
<df name="a11yhelp" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="lang" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="about" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="basicstyles" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="blockquote" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="button" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="clipboard" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="colorbutton" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="colordialog" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="contextmenu" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="dialog" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="dialogui" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="div" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="domiterator" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="editingblock" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="elementspath" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="enterkey" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="entities" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="fakeobjects" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="filebrowser" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="find" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="flash" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="floatpanel" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="font" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="format" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="forms" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="horizontalrule" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="htmldataprocessor" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="htmlwriter" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="iframedialog" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="image" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="indent" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="justify" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="keystrokes" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="link" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="list" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="listblock" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="liststyle" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="maximize" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="menu" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="menubutton" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="newpage" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="pagebreak" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="panel" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="panelbutton" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="pastefromword" kind="SOURCE_LOGICAL_FOLDER">
<df name="filter" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="pastetext" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="popup" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="preview" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="print" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="removeformat" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="resize" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="richcombo" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="save" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="scayt" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="selection" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="showblocks" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="showborders" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="smiley" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="sourcearea" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="specialchar" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="styles" kind="SOURCE_LOGICAL_FOLDER">
<df name="styles" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="stylescombo" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="tab" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="table" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="tabletools" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="templates" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="templates" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
</df>
<df name="toolbar" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="uicolor" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="lang" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="yui" kind="SOURCE_LOGICAL_FOLDER">
<df name="assets" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
</df>
<df name="undo" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="wsc" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="wysiwygarea" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="skins" kind="SOURCE_LOGICAL_FOLDER">
<df name="kama" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="office2003" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="v2" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
</df>
<df name="themes" kind="SOURCE_LOGICAL_FOLDER">
<df name="default" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
</df>
<df name="adapters" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="lang" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="plugins" kind="SOURCE_LOGICAL_FOLDER">
<df name="a11yhelp" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="lang" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="about" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="clipboard" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="colordialog" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="dialog" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="div" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="find" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="flash" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="forms" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="iframedialog" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="image" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="link" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="liststyle" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="pagebreak" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="pastefromword" kind="SOURCE_LOGICAL_FOLDER">
<df name="filter" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="pastetext" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="scayt" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="showblocks" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="smiley" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="specialchar" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="styles" kind="SOURCE_LOGICAL_FOLDER">
<df name="styles" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="table" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="tabletools" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="templates" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="templates" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
</df>
<df name="uicolor" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="lang" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="yui" kind="SOURCE_LOGICAL_FOLDER">
<df name="assets" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
</df>
<df name="wsc" kind="SOURCE_LOGICAL_FOLDER">
<df name="dialogs" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
</df>
<df name="skins" kind="SOURCE_LOGICAL_FOLDER">
<df name="kama" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="office2003" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="v2" kind="SOURCE_LOGICAL_FOLDER">
<df name="images" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
</df>
<df name="themes" kind="SOURCE_LOGICAL_FOLDER">
<df name="default" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
</df>
<df name="index_files" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="pages" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="preview" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="scripts" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="SysBoot" kind="SOURCE_LOGICAL_FOLDER">
<df name="stage1" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="stage2" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="SysCore" kind="SOURCE_LOGICAL_FOLDER">
<df name="debug" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="drivers" kind="SOURCE_LOGICAL_FOLDER">
<df name="clock" kind="SOURCE_LOGICAL_FOLDER">
<in>clock.h</in>
<in>pit.c</in>
</df>
<df name="cpu" kind="SOURCE_LOGICAL_FOLDER">
<df name="gdt" kind="SOURCE_LOGICAL_FOLDER">
<in>gdt.c</in>
<in>gdt.h</in>
</df>
<df name="idt" kind="SOURCE_LOGICAL_FOLDER">
<in>idt.c</in>
<in>idt.h</in>
</df>
<df name="irq" kind="SOURCE_LOGICAL_FOLDER">
<in>irq.c</in>
<in>irq.h</in>
<in>pic.c</in>
<in>pic.h</in>
</df>
<df name="isrs" kind="SOURCE_LOGICAL_FOLDER">
<in>isrs.c</in>
<in>isrs.h</in>
</df>
<in>cpu.c</in>
<in>cpu.h</in>
</df>
<df name="filesys" kind="SOURCE_LOGICAL_FOLDER">
<in>fat.c</in>
<in>fat.h</in>
<in>vfs.c</in>
<in>vfs.h</in>
</df>
<df name="floppy" kind="SOURCE_LOGICAL_FOLDER">
<in>dma.c</in>
<in>dma.h</in>
<in>floppy.c</in>
<in>floppy.h</in>
<in>storage.h</in>
</df>
<df name="keyboard" kind="SOURCE_LOGICAL_FOLDER">
<in>keyboard.c</in>
<in>keyboard.deprecated.h</in>
</df>
<in>BSOD.c</in>
<in>drivers.c</in>
<in>drivers.h</in>
</df>
<df name="include" kind="SOURCE_LOGICAL_FOLDER">
<df name="drivers" kind="SOURCE_LOGICAL_FOLDER">
<in>floppy.h</in>
<in>keyboard.h</in>
</df>
<df name="sys" kind="SOURCE_LOGICAL_FOLDER">
<in>declarat.h</in>
</df>
<in>_null.h</in>
<in>bootinfo.h</in>
<in>conio.h</in>
<in>crtdefs.h</in>
<in>ctype.h</in>
<in>hal.h</in>
<in>regs.h</in>
<in>size_t.h</in>
<in>stdarg.h</in>
<in>stdint.h</in>
<in>stdlib.h</in>
<in>string.h</in>
<in>system.h</in>
<in>time.h</in>
<in>va_list.h</in>
</df>
<df name="lib" kind="SOURCE_LOGICAL_FOLDER">
<in>conio.c</in>
<in>ctype.c</in>
<in>stdlib.c</in>
<in>string.c</in>
<in>system.c</in>
<in>time.c</in>
</df>
<df name="memory" kind="SOURCE_LOGICAL_FOLDER">
<df name="lib" kind="SOURCE_LOGICAL_FOLDER">
<in>pde.c</in>
<in>pde.h</in>
<in>pte.c</in>
<in>pte.h</in>
</df>
<in>mmngr_ph.c</in>
<in>mmngr_ph.h</in>
<in>mmngr_vi.c</in>
<in>mmngr_vi.h</in>
</df>
<df name="objects" kind="SOURCE_LOGICAL_FOLDER">
<df name="drivers" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="release" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="video" kind="SOURCE_LOGICAL_FOLDER">
</df>
</df>
<df name="shell" kind="SOURCE_LOGICAL_FOLDER">
<in>apps.h</in>
<in>shell.c</in>
</df>
<df name="video" kind="SOURCE_LOGICAL_FOLDER">
<df name="color" kind="SOURCE_LOGICAL_FOLDER">
<in>color.c</in>
<in>color.h</in>
</df>
<in>vga.h</in>
<in>vga03h.c</in>
<in>vga03h.h</in>
</df>
<in>main.c</in>
</df>
</df>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
projectFiles="false"
kind="IMPORTANT_FILES_FOLDER">
<itemPath>/media/6C9EE8DF9EE8A336/ctaos/Makefile</itemPath>
<itemPath>/media/6C9EE8DF9EE8A336/ctaos/buildOS.bat</itemPath>
<itemPath>ctaos-Makefile.mk</itemPath>
</logicalFolder>
</logicalFolder>
<sourceRootList>
<Elem>/media/6C9EE8DF9EE8A336/ctaos</Elem>
</sourceRootList>
<projectmakefile>ctaos-Makefile.mk</projectmakefile>
<confs>
<conf name="Default" type="0">
<toolsSet>
<developmentServer>localhost</developmentServer>
<compilerSet>GNU-Nasm|GNU</compilerSet>
<platform>2</platform>
</toolsSet>
<makefileType>
<makeTool>
<buildCommandWorkingDir>/media/6C9EE8DF9EE8A336/ctaos</buildCommandWorkingDir>
<buildCommand>${MAKE} -f Makefile</buildCommand>
<cleanCommand>${MAKE} -f Makefile clean</cleanCommand>
<executablePath>/media/6C9EE8DF9EE8A336/ctaos/ctaos.img</executablePath>
</makeTool>
</makefileType>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/drivers/BSOD.c"
ex="false"
tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</item>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/drivers/cpu/cpu.c"
ex="false"
tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</item>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/drivers/cpu/irq/irq.c"
ex="false"
tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
</incDir>
</cTool>
</item>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/drivers/drivers.c"
ex="false"
tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</item>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/drivers/filesys/fat.c"
ex="false"
tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
</incDir>
</cTool>
</item>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/drivers/floppy/floppy.c"
ex="false"
tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
</incDir>
</cTool>
</item>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/lib/conio.c"
ex="false"
tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
</incDir>
</cTool>
</item>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/lib/system.c"
ex="false"
tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</item>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/lib/time.c"
ex="false"
tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</item>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/main.c" ex="false" tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</item>
<item path="/media/6C9EE8DF9EE8A336/ctaos/SysCore/video/vga03h.c"
ex="false"
tool="0">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</item>
<folder path="ctaos/SysCore/drivers/clock">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</folder>
<folder path="ctaos/SysCore/drivers/cpu/idt">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</folder>
<folder path="ctaos/SysCore/drivers/cpu/irq">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</folder>
<folder path="ctaos/SysCore/drivers/cpu/isrs">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</folder>
<folder path="ctaos/SysCore/drivers/floppy">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</folder>
<folder path="ctaos/SysCore/drivers/keyboard">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</folder>
<folder path="ctaos/SysCore/shell">
<cTool>
<incDir>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/SysCore/include</pElem>
<pElem>/media/6C9EE8DF9EE8A336/ctaos/#ARCHIVE/Desktop/ctaos++</pElem>
</incDir>
</cTool>
</folder>
</conf>
</confs>
</configurationDescriptor>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.cnd.makeproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/make-project/1">
<name>ctaos</name>
<make-project-type>0</make-project-type>
<c-extensions>c</c-extensions>
<cpp-extensions>C,cpp</cpp-extensions>
<header-extensions>H,h</header-extensions>
<sourceEncoding>UTF-8</sourceEncoding>
<make-dep-projects/>
<sourceRootList>
<sourceRootElem>/media/6C9EE8DF9EE8A336/ctaos</sourceRootElem>
</sourceRootList>
<confList>
<confElem>Default</confElem>
</confList>
</data>
</configuration>
</project>
+5
View File
@@ -0,0 +1,5 @@
# This code depends on make tool being used
DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
ifneq (${DEPFILES},)
include ${DEPFILES}
endif
+128
View File
@@ -0,0 +1,128 @@
#
# There exist several targets which are by default empty and which can be
# used for execution of your targets. These targets are usually executed
# before and after some main targets. They are:
#
# .build-pre: called before 'build' target
# .build-post: called after 'build' target
# .clean-pre: called before 'clean' target
# .clean-post: called after 'clean' target
# .clobber-pre: called before 'clobber' target
# .clobber-post: called after 'clobber' target
# .all-pre: called before 'all' target
# .all-post: called after 'all' target
# .help-pre: called before 'help' target
# .help-post: called after 'help' target
#
# Targets beginning with '.' are not intended to be called on their own.
#
# Main targets can be executed directly, and they are:
#
# build build a specific configuration
# clean remove built files from a configuration
# clobber remove all built files
# all build all configurations
# help print help mesage
#
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
# .help-impl are implemented in nbproject/makefile-impl.mk.
#
# Available make variables:
#
# CND_BASEDIR base directory for relative paths
# CND_DISTDIR default top distribution directory (build artifacts)
# CND_BUILDDIR default top build directory (object files, ...)
# CONF name of current configuration
# CND_PLATFORM_${CONF} platform name (current configuration)
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
#
# NOCDDL
# Environment
MKDIR=mkdir
CP=cp
CCADMIN=CCadmin
# build
build: .build-post
.build-pre:
# Add your pre 'build' code here...
.build-post: .build-impl
# Add your post 'build' code here...
# clean
clean: .clean-post
.clean-pre:
# Add your pre 'clean' code here...
.clean-post: .clean-impl
# Add your post 'clean' code here...
# clobber
clobber: .clobber-post
.clobber-pre:
# Add your pre 'clobber' code here...
.clobber-post: .clobber-impl
# Add your post 'clobber' code here...
# all
all: .all-post
.all-pre:
# Add your pre 'all' code here...
.all-post: .all-impl
# Add your post 'all' code here...
# build tests
build-tests: .build-tests-post
.build-tests-pre:
# Add your pre 'build-tests' code here...
.build-tests-post: .build-tests-impl
# Add your post 'build-tests' code here...
# run tests
test: .test-post
.test-pre:
# Add your pre 'test' code here...
.test-post: .test-impl
# Add your post 'test' code here...
# help
help: .help-post
.help-pre:
# Add your pre 'help' code here...
.help-post: .help-impl
# Add your post 'help' code here...
# include project implementation makefile
include nbproject/Makefile-impl.mk
# include project make variables
include nbproject/Makefile-variables.mk
+238
View File
@@ -0,0 +1,238 @@
/*
* File: main.c
* Author: tiberiu
*
* Created on June 29, 2011, 11:34 AM
*/
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include "types.h"
#define KeybCmdWriteLED 0xed
#define KeybCmdEcho 0xee
#define KeybCmdSetScancodeSet 0xf0
#define KeybCmdGetID 0xf2
#define KeybCmdSetRepeatDelay 0xf3
#define KeybCmdEnable 0xf4
#define KeybCmdSetDefaultDisable 0xf5
#define KeybCmdSetDefault 0xf6
#define KeybCmdResend 0xfe
#define KeybCmdReset 0xff
volatile uint8 KeyState[16];
volatile uint8 KeyboardLastStatus;
volatile uint8 KeyboardLastScancode;
uint8 KeyboardScancodeSet = 2;
// Byte map:
// 0 If set, next code is break
// 1 'Gray' key
// 2 'Weird' key (Pause/Break)
uint8 KeyboardModifiers;
void KeyboardSetLEDs (uint8 scroll, uint8 num, uint8 caps);
uint8 GetScancode();
const char KeyboardMap[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '\t', '`', 0,
0, 0, 0, 0, 0, 'q', '1', 0, 0, 0, 'z', 's', 'a', 'w', '2', 0,
0, 'c', 'x', 'd', 'e', '4', '3', 0, 0, ' ', 'v', 'f', 't', 'r', '5', 0,
0, 'n', 'b', 'h', 'g', 'y', '6', 0, 0, 0, 'm', 'j', 'u', '7', '8', 0,
0, ',', 'k', 'i', 'o', '0', '9', 0, 0, '.', '/', 'l', ';', 'p', '-', 0,
0, 0, '\'', 0, '[', '=', 0, 0, 0, 0, '\n', ']', 0, '\\', 0, 0,
0, 0, 0, 0, 0, 0, '\b', 0, 0, '1', '/', '4', '7', '\n', 0, 0,
'0', '.', '2', '5', '6', '8', 0, 0, 0, '+', '3', '-', '*', '9', 0, 0
};
const char KeyboardMapShift[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '\t', '~', 0,
0, 0, 0, 0, 0, 'Q', '!', 0, 0, 0, 'Z', 'S', 'A', 'W', '@', 0,
0, 'C', 'X', 'D', 'E', '$', '#', 0, 0, ' ', 'V', 'F', 'T', 'R', '%', 0,
0, 'N', 'B', 'H', 'G', 'Y', '^', 0, 0, 0, 'M', 'J', 'U', '&', '*', 0,
0, '<', 'K', 'I', 'O', ')', '(', 0, 0, '>', '?', 'L', ':', 'P', '_', 0,
0, 0, '\"', 0, '{', '+', 0, 0, 0, 0, '\n', '}', 0, '|', 0, 0,
0, 0, 0, 0, 0, 0, '\b', 0, 0, '1', '/', '4', '7', '\n', 0, 0,
'0', '.', '2', '5', '6', '8', 0, 0, 0, '+', '3', '-', '*', '9', 0, 0
};
void KeyboardSetKeyStatus (uint8 scancode, uint8 status)
{
int32 index = scancode>>3, pos = scancode & 0x7;
if (status) KeyState[index] |= 1<<pos;
else KeyState[index] &= ~(1<<pos);
}
uint8 KeyboardGetKeyStatus (uint8 scancode)
{
int32 index = scancode>>3, pos = scancode & 0x7;
return KeyState[index] & (1<<pos);
}
void _process_scancode(uint8 scancode)
{
switch (scancode)
{
// Messages from keyboard controller
case 0x00: // Error 0x00
case 0xFC: // Diagnostics failed (MF kb)
case 0xFD: // Diagnostics failed (AT kb)
case 0xFF:
return; // Error 0xFF, reenable keyboard
case 0xAA: // BAT test successful.
case 0xFA: // ACKnowledge
case 0xFE: // Last command invalid or parity error
case 0xEE: return; // Echo response
// Break
case 0xF0: KeyboardModifiers |= 1; return;
// Special character (gray, etc)
case 0xE0: KeyboardModifiers |= 2; return;
case 0xE1: KeyboardModifiers |= 4; return;
// Remap some characters:
case 0x83: scancode = KeyboardKeyF7; break;
// LEDs
case KeyboardKeyScrollLock:
if ((KeyboardModifiers & 1) == 0) {
KeyboardModifiers ^= 1<<3;
KeyboardModifiers |= 1<<6;
} break;
case KeyboardKeyNumLock:
if ((KeyboardModifiers & 1) == 0) {
KeyboardModifiers ^= 1<<4;
KeyboardModifiers |= 1<<6;
} break;
case KeyboardKeyCapsLock:
if ((KeyboardModifiers & 1) == 0) {
KeyboardModifiers ^= 1<<5;
KeyboardModifiers |= 1<<6;
} break;
}
// Remap most gray characters
if (KeyboardModifiers & 2) switch (scancode)
{
case 0x10: scancode = KeyboardKeyMediaWebSearch; break;
case 0x11: scancode = KeyboardKeyRightAlt; break;
case 0x12: return; // Fake shift, ignore
case 0x14: scancode = KeyboardKeyRightCtrl; break;
case 0x15: scancode = KeyboardKeyMediaPrevious; break;
case 0x18: scancode = KeyboardKeyMediaWebFavorites; break;
case 0x1F: scancode = KeyboardKeyLeftWin; break;
case 0x20: scancode = KeyboardKeyMediaWebRefresh; break;
case 0x21: scancode = KeyboardKeyMediaVolDown; break;
case 0x23: scancode = KeyboardKeyMediaMute; break;
case 0x27: scancode = KeyboardKeyRightWin; break;
case 0x28: scancode = KeyboardKeyMediaWebStop; break;
case 0x2B: scancode = KeyboardKeyMediaCalculator; break;
case 0x2F: scancode = KeyboardKeyMenu; break;
case 0x30: scancode = KeyboardKeyMediaWebForward; break;
case 0x32: scancode = KeyboardKeyMediaVolUp; break;
case 0x34: scancode = KeyboardKeyMediaPause; break;
case 0x37: scancode = KeyboardKeyPower; break;
case 0x38: scancode = KeyboardKeyMediaWebBack; break;
case 0x3A: scancode = KeyboardKeyMediaWebHome; break;
case 0x3B: scancode = KeyboardKeyMediaStop; break;
case 0x3F: scancode = KeyboardKeySleep; break;
case 0x40: scancode = KeyboardKeyMediaComputer; break;
case 0x48: scancode = KeyboardKeyMediaEmail; break;
case 0x4A: scancode = KeyboardKeyNumpadSlash; break;
case 0x4D: scancode = KeyboardKeyMediaNext; break;
case 0x50: scancode = KeyboardKeyMediaSelect; break;
case 0x5A: scancode = KeyboardKeyNumpadEnter; break;
case 0x5E: scancode = KeyboardKeyWake; break;
case 0x69: scancode = KeyboardKeyEnd; break;
case 0x6B: scancode = KeyboardKeyLeft; break;
case 0x6C: scancode = KeyboardKeyHome; break;
case 0x70: scancode = KeyboardKeyInsert; break;
case 0x71: scancode = KeyboardKeyDelete; break;
case 0x72: scancode = KeyboardKeyDown; break;
case 0x74: scancode = KeyboardKeyRight; break;
case 0x75: scancode = KeyboardKeyUp; break;
case 0x7A: scancode = KeyboardKeyPageDown; break;
case 0x7C: scancode = KeyboardKeyPrintScreen; break;
case 0x7D: scancode = KeyboardKeyPageUp; break;
}
// Pause/break
if (KeyboardModifiers & 4)
{
KeyboardSetKeyStatus(KeyboardKeyPause, 1 - (KeyboardModifiers & 1));
if (scancode == 0x77) KeyboardModifiers = 0;
return;
}
KeyboardSetKeyStatus(scancode, 1 - (KeyboardModifiers & 1));
// Give functions something to wait for :P
KeyboardLastScancode = scancode;
KeyboardLastStatus = KeyboardModifiers;
KeyboardModifiers &= ~7;
}
void KeyboardHandler (_RegsStack32 *r)
{
// Get scancode from keyboard
uint8 scancode = GetScancode();
// Process scancode
_process_scancode(scancode);
// LED update
if (KeyboardModifiers & (1<<6))
{
KeyboardSetLEDs(KeyboardModifiers & (1<<3), KeyboardModifiers & (1<<4), KeyboardModifiers & (1<<5));
KeyboardModifiers &= ~(1<<6);
}
}
void KeyboardSetLEDs (uint8 scroll, uint8 num, uint8 caps)
{
printf("Changed LED status: ");
if (scroll) printf("[Scr]");
else printf("[ ]");
if (num) printf("[Num]");
else printf("[ ]");
if (caps) printf("[Cap]\n");
else printf("[ ]\n");
}
uint8 GetScancode()
{
uint32 scan = 0;
scanf("%x", &scan);
return scan;
}
int main(int argc, char** argv) {
while (1) KeyboardHandler(NULL);
return (EXIT_SUCCESS);
}
@@ -0,0 +1,82 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc
CCC=g++
CXX=g++
FC=
AS=as
# Macros
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Debug
CND_DISTDIR=dist
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES= \
${OBJECTDIR}/main.o
# C Compiler Flags
CFLAGS=
# CC Compiler Flags
CCFLAGS=
CXXFLAGS=
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
"${MAKE}" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/luxkeyboardhandler
dist/Debug/GNU-Linux-x86/luxkeyboardhandler: ${OBJECTFILES}
${MKDIR} -p dist/Debug/GNU-Linux-x86
${LINK.c} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/luxkeyboardhandler ${OBJECTFILES} ${LDLIBSOPTIONS}
${OBJECTDIR}/main.o: main.c
${MKDIR} -p ${OBJECTDIR}
${RM} $@.d
$(COMPILE.c) -g -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.c
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
${RM} -r build/Debug
${RM} dist/Debug/GNU-Linux-x86/luxkeyboardhandler
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
@@ -0,0 +1,82 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc
CCC=g++
CXX=g++
FC=
AS=as
# Macros
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Release
CND_DISTDIR=dist
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES= \
${OBJECTDIR}/main.o
# C Compiler Flags
CFLAGS=
# CC Compiler Flags
CCFLAGS=
CXXFLAGS=
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
"${MAKE}" -f nbproject/Makefile-Release.mk dist/Release/GNU-Linux-x86/luxkeyboardhandler
dist/Release/GNU-Linux-x86/luxkeyboardhandler: ${OBJECTFILES}
${MKDIR} -p dist/Release/GNU-Linux-x86
${LINK.c} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/luxkeyboardhandler ${OBJECTFILES} ${LDLIBSOPTIONS}
${OBJECTDIR}/main.o: main.c
${MKDIR} -p ${OBJECTDIR}
${RM} $@.d
$(COMPILE.c) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.c
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
${RM} -r build/Release
${RM} dist/Release/GNU-Linux-x86/luxkeyboardhandler
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
@@ -0,0 +1,133 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a pre- and a post- target defined where you can add customization code.
#
# This makefile implements macros and targets common to all configurations.
#
# NOCDDL
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
# and .clean-reqprojects-conf unless SUB has the value 'no'
SUB_no=NO
SUBPROJECTS=${SUB_${SUB}}
BUILD_SUBPROJECTS_=.build-subprojects
BUILD_SUBPROJECTS_NO=
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
CLEAN_SUBPROJECTS_=.clean-subprojects
CLEAN_SUBPROJECTS_NO=
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
# Project Name
PROJECTNAME=luxKeyboardHandler
# Active Configuration
DEFAULTCONF=Debug
CONF=${DEFAULTCONF}
# All Configurations
ALLCONFS=Debug Release
# build
.build-impl: .build-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
# clean
.clean-impl: .clean-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
# clobber
.clobber-impl: .clobber-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
done
# all
.all-impl: .all-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
done
# build tests
.build-tests-impl: .build-impl .build-tests-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
# run tests
.test-impl: .build-tests-impl .test-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
# dependency checking support
.depcheck-impl:
@echo "# This code depends on make tool being used" >.dep.inc
@if [ -n "${MAKE_VERSION}" ]; then \
echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
echo "include \$${DEPFILES}" >>.dep.inc; \
echo "endif" >>.dep.inc; \
else \
echo ".KEEP_STATE:" >>.dep.inc; \
echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
fi
# configuration validation
.validate-impl:
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
echo ""; \
echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
echo "See 'make help' for details."; \
echo "Current directory: " `pwd`; \
echo ""; \
fi
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
exit 1; \
fi
# help
.help-impl: .help-pre
@echo "This makefile supports the following configurations:"
@echo " ${ALLCONFS}"
@echo ""
@echo "and the following targets:"
@echo " build (default target)"
@echo " clean"
@echo " clobber"
@echo " all"
@echo " help"
@echo ""
@echo "Makefile Usage:"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
@echo " make [SUB=no] clobber"
@echo " make [SUB=no] all"
@echo " make help"
@echo ""
@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
@echo " also clean subprojects."
@echo "Target 'clobber' will remove all built files from all configurations and,"
@echo " unless 'SUB=no', also from subprojects."
@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'help' prints this message."
@echo ""
@@ -0,0 +1,24 @@
#
# Generated - do not edit!
#
# NOCDDL
#
CND_BASEDIR=`pwd`
CND_BUILDDIR=build
CND_DISTDIR=dist
# Debug configuration
CND_PLATFORM_Debug=GNU-Linux-x86
CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
CND_ARTIFACT_NAME_Debug=luxkeyboardhandler
CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/luxkeyboardhandler
CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
CND_PACKAGE_NAME_Debug=luxkeyboardhandler.tar
CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/luxkeyboardhandler.tar
# Release configuration
CND_PLATFORM_Release=GNU-Linux-x86
CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
CND_ARTIFACT_NAME_Release=luxkeyboardhandler
CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/luxkeyboardhandler
CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
CND_PACKAGE_NAME_Release=luxkeyboardhandler.tar
CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/luxkeyboardhandler.tar
@@ -0,0 +1,74 @@
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Debug
CND_DISTDIR=dist
NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/luxkeyboardhandler
OUTPUT_BASENAME=luxkeyboardhandler
PACKAGE_TOP_DIR=luxkeyboardhandler/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/luxkeyboardhandler/bin"
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/luxkeyboardhandler.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/luxkeyboardhandler.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
@@ -0,0 +1,74 @@
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Release
CND_DISTDIR=dist
NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/luxkeyboardhandler
OUTPUT_BASENAME=luxkeyboardhandler
PACKAGE_TOP_DIR=luxkeyboardhandler/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/luxkeyboardhandler/bin"
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/luxkeyboardhandler.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/luxkeyboardhandler.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="69">
<logicalFolder name="root" displayName="root" projectFiles="true">
<logicalFolder name="HeaderFiles"
displayName="Header Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
<itemPath>types.h</itemPath>
</logicalFolder>
<logicalFolder name="ResourceFiles"
displayName="Resource Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
</logicalFolder>
<logicalFolder name="SourceFiles"
displayName="Source Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
<itemPath>main.c</itemPath>
</logicalFolder>
<logicalFolder name="TestFiles"
displayName="Test Files"
projectFiles="false"
kind="TEST_LOGICAL_FOLDER">
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
projectFiles="false"
kind="IMPORTANT_FILES_FOLDER">
<itemPath>Makefile</itemPath>
</logicalFolder>
</logicalFolder>
<projectmakefile>Makefile</projectmakefile>
<confs>
<conf name="Debug" type="1">
<toolsSet>
<developmentServer>localhost</developmentServer>
<compilerSet>GNU|GNU</compilerSet>
<platform>2</platform>
</toolsSet>
<compileType>
</compileType>
</conf>
<conf name="Release" type="1">
<toolsSet>
<developmentServer>localhost</developmentServer>
<compilerSet>GNU|GNU</compilerSet>
<platform>2</platform>
</toolsSet>
<compileType>
<cTool>
<developmentMode>5</developmentMode>
</cTool>
<ccTool>
<developmentMode>5</developmentMode>
</ccTool>
<fortranCompilerTool>
<developmentMode>5</developmentMode>
</fortranCompilerTool>
<asmTool>
<developmentMode>5</developmentMode>
</asmTool>
</compileType>
</conf>
</confs>
</configurationDescriptor>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.cnd.makeproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/make-project/1">
<name>luxKeyboardHandler</name>
<make-project-type>0</make-project-type>
<c-extensions>c</c-extensions>
<cpp-extensions/>
<header-extensions>h</header-extensions>
<sourceEncoding>UTF-8</sourceEncoding>
<make-dep-projects/>
<sourceRootList/>
<confList>
<confElem>Debug</confElem>
<confElem>Release</confElem>
</confList>
</data>
</configuration>
</project>
+252
View File
@@ -0,0 +1,252 @@
#ifndef __TYPES__H
#define __TYPES__H
/****************************************
* Int definitions *
****************************************/
typedef signed char int8;
typedef unsigned char uint8;
typedef short int16;
typedef unsigned short uint16;
typedef int int32;
typedef unsigned uint32;
typedef long long int64;
typedef unsigned long long uint64;
/****************************************
* Limits definitions *
****************************************/
#define INT8_MIN (-128)
#define INT16_MIN (-32768)
#define INT32_MIN (-2147483647 - 1)
#define INT64_MIN (-9223372036854775807LL - 1)
#define INT8_MAX 127
#define INT16_MAX 32767
#define INT32_MAX 2147483647
#define INT64_MAX 9223372036854775807LL
#define UINT8_MAX 0xff /* 255U */
#define UINT16_MAX 0xffff /* 65535U */
#define UINT32_MAX 0xffffffff /* 4294967295U */
#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */
/****************************************
* Registers *
****************************************/
// 32 bit registers
typedef struct {
uint32 eax, ebx, ecx, edx, esi, edi, ebp, esp, eflags;
uint8 cflag;
} _R32BIT;
// 16 bit registers
typedef struct {
uint16 ax, bx, cx, dx, si, di, bp, sp, es, cs, ss, ds, flags;
uint8 cflag;
} _R16BIT ;
// 16 bit registers expressed in 32 bit registers
typedef struct {
uint16 ax, axh, bx, bxh, cx, cxh, dx, dxh;
uint16 si, di, bp, sp, es, cs, ss, ds, flags;
uint8 cflags;
} _R16BIT32 ;
// 8 bit registers
typedef struct {
uint8 al, ah, bl, bh, cl, ch, dl, dh;
} _R8BIT;
// 8 bit registers expressed in 32 bit registers
typedef struct {
uint8 al, ah; uint16 axh;
uint8 bl, bh; uint16 bxh;
uint8 cl, ch; uint16 cxh;
uint8 dl, dh; uint16 dxh;
} _R8BIT32;
// 8 and 16 bit registers union
typedef union {
_R16BIT x;
_R8BIT h;
}_INTR16;
// 32 bit, 16 bit and 8 bit registers union
typedef union {
_R32BIT x;
_R16BIT32 l;
_R8BIT32 h;
} _INTR32;
/* This defines what the stack looks like after an ISR was running */
typedef struct
{
uint32 gs, fs, es, ds; /* pushed the segs last */
uint32 edi, esi, ebp, esp, ebx, edx, ecx, eax; /* pushed by 'pusha' */
uint32 int_no, err_code; /* our 'push byte #' and ecodes do this */
uint32 eip, cs, eflags, useresp, ss; /* pushed by the processor automatically */
} _RegsStack32;
/****************************************
* Keyboard data types *
****************************************/
enum KeyboardKeys {
KeyboardKeyF9 = 0x01,
KeyboardKeyF7 = 0x02,
KeyboardKeyF5 = 0x03,
KeyboardKeyF3 = 0x04,
KeyboardKeyF1 = 0x05,
KeyboardKeyF2 = 0x06,
KeyboardKeyF12 = 0x07,
KeyboardKeyMediaNext = 0x08,
KeyboardKeyF10 = 0x09,
KeyboardKeyF8 = 0x0A,
KeyboardKeyF6 = 0x0B,
KeyboardKeyF4 = 0x0C,
KeyboardKeyTab = 0x0D,
KeyboardKeyTilda = 0x0E,
KeyboardKeyMediaPrevious = 0x0F,
KeyboardKeyMediaStop = 0x10,
KeyboardKeyLeftAlt = 0x11,
KeyboardKeyLeftShift = 0x12,
KeyboardKeyMediaPause = 0x13,
KeyboardKeyLeftCtrl = 0x14,
KeyboardKeyQ = 0x15,
KeyboardKey1 = 0x16,
KeyboardKeyMediaVolUp = 0x17,
KeyboardKeyMediaVolDown = 0x18,
KeyboardKeyMediaSelect = 0x19,
KeyboardKeyZ = 0x1A,
KeyboardKeyS = 0x1B,
KeyboardKeyA = 0x1C,
KeyboardKeyW = 0x1D,
KeyboardKey2 = 0x1E,
KeyboardKeyLeftWin = 0x1F,
KeyboardKeyMediaEmail = 0x20,
KeyboardKeyC = 0x21,
KeyboardKeyX = 0x22,
KeyboardKeyD = 0x23,
KeyboardKeyE = 0x24,
KeyboardKey4 = 0x25,
KeyboardKey3 = 0x26,
KeyboardKeyRightWin = 0x27,
KeyboardKeyMediaCalculator = 0x28,
KeyboardKeySpace = 0x29,
KeyboardKeyV = 0x2A,
KeyboardKeyF = 0x2B,
KeyboardKeyT = 0x2C,
KeyboardKeyR = 0x2D,
KeyboardKey5 = 0x2E,
KeyboardKeyMenu = 0x2F,
KeyboardKeyMediaComputer = 0x30,
KeyboardKeyN = 0x31,
KeyboardKeyB = 0x32,
KeyboardKeyH = 0x33,
KeyboardKeyG = 0x34,
KeyboardKeyY = 0x35,
KeyboardKey6 = 0x36,
KeyboardKeyPower = 0x37,
KeyboardKeyMediaWebSearch = 0x38,
KeyboardKeyMediaWebHome = 0x39,
KeyboardKeyM = 0x3A,
KeyboardKeyJ = 0x3B,
KeyboardKeyU = 0x3C,
KeyboardKey7 = 0x3D,
KeyboardKey8 = 0x3E,
KeyboardKeySleep = 0x3F,
KeyboardKeyWake = 0x40,
KeyboardKeyComma = 0x41,
KeyboardKeyK = 0x42,
KeyboardKeyI = 0x43,
KeyboardKeyO = 0x44,
KeyboardKey0 = 0x45,
KeyboardKey9 = 0x46,
KeyboardKeyMediaWebBack = 0x47,
KeyboardKeyMediaWebForward = 0x48,
KeyboardKeyPeriod = 0x49,
KeyboardKeySlash = 0x4A,
KeyboardKeyL = 0x4B,
KeyboardKeySemicolon = 0x4C,
KeyboardKeyP = 0x4D,
KeyboardKeyDash = 0x4E,
KeyboardKeyMediaWebStop = 0x4F,
KeyboardKeyMediaWebRefresh = 0x50,
KeyboardKeyMediaWebFavorites = 0x51,
KeyboardKeyApostrophe = 0x52,
KeyboardKeyRightAlt = 0x53,
KeyboardKeyLeftBracket = 0x54,
KeyboardKeyEqual = 0x55,
KeyboardKeyPrintScreen = 0x56,
KeyboardKeyPause = 0x57,
KeyboardKeyCapsLock = 0x58,
KeyboardKeyRightShift = 0x59,
KeyboardKeyReturn = 0x5A,
KeyboardKeyRightBracket = 0x5B,
KeyboardKeyRightCtrl = 0x5C,
KeyboardKeyBackSlash = 0x5D,
KeyboardKeyInsert = 0x5E,
KeyboardKeyDelete = 0x5F,
KeyboardKeyHome = 0x60,
KeyboardKeyEnd = 0x61,
KeyboardKeyPageUp = 0x62,
KeyboardKeyPageDown = 0x63,
KeyboardKeyLeft = 0x64,
KeyboardKeyDown = 0x65,
KeyboardKeyBackspace = 0x66,
KeyboardKeyRight = 0x67,
KeyboardKeyUp = 0x68,
KeyboardKeyNumpad1 = 0x69,
KeyboardKeyNumpadSlash = 0x6A,
KeyboardKeyNumpad4 = 0x6B,
KeyboardKeyNumpad7 = 0x6C,
KeyboardKeyNumpadEnter = 0x6D,
KeyboardKeyMediaMute = 0x6E,
KeyboardKeyNumpad0 = 0x70,
KeyboardKeyNumpadColon = 0x71,
KeyboardKeyNumpad2 = 0x72,
KeyboardKeyNumpad5 = 0x73,
KeyboardKeyNumpad6 = 0x74,
KeyboardKeyNumpad8 = 0x75,
KeyboardKeyEscape = 0x76,
KeyboardKeyNumLock = 0x77,
KeyboardKeyF11 = 0x78,
KeyboardKeyNumpadPlus = 0x79,
KeyboardKeyNumpad3 = 0x7A,
KeyboardKeyNumpadMinus = 0x7B,
KeyboardKeyNumpadAsterisk = 0x7C,
KeyboardKeyNumpad9 = 0x7D,
KeyboardKeyScrollLock = 0x7E
};
typedef struct {
char Character;
uint8 Scancode;
} Key;
typedef struct {
uint8 Pressed;
char Character;
uint8 Scancode;
} KeyEvent;
/****************************************
* Other data types *
****************************************/
typedef struct {
int32 X, Y;
} Point;
typedef struct
{
uint32 X, Y;
} UPoint;
typedef char* string;
#endif
+5
View File
@@ -0,0 +1,5 @@
# This code depends on make tool being used
DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
ifneq (${DEPFILES},)
include ${DEPFILES}
endif
+128
View File
@@ -0,0 +1,128 @@
#
# There exist several targets which are by default empty and which can be
# used for execution of your targets. These targets are usually executed
# before and after some main targets. They are:
#
# .build-pre: called before 'build' target
# .build-post: called after 'build' target
# .clean-pre: called before 'clean' target
# .clean-post: called after 'clean' target
# .clobber-pre: called before 'clobber' target
# .clobber-post: called after 'clobber' target
# .all-pre: called before 'all' target
# .all-post: called after 'all' target
# .help-pre: called before 'help' target
# .help-post: called after 'help' target
#
# Targets beginning with '.' are not intended to be called on their own.
#
# Main targets can be executed directly, and they are:
#
# build build a specific configuration
# clean remove built files from a configuration
# clobber remove all built files
# all build all configurations
# help print help mesage
#
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
# .help-impl are implemented in nbproject/makefile-impl.mk.
#
# Available make variables:
#
# CND_BASEDIR base directory for relative paths
# CND_DISTDIR default top distribution directory (build artifacts)
# CND_BUILDDIR default top build directory (object files, ...)
# CONF name of current configuration
# CND_PLATFORM_${CONF} platform name (current configuration)
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
#
# NOCDDL
# Environment
MKDIR=mkdir
CP=cp
CCADMIN=CCadmin
# build
build: .build-post
.build-pre:
# Add your pre 'build' code here...
.build-post: .build-impl
# Add your post 'build' code here...
# clean
clean: .clean-post
.clean-pre:
# Add your pre 'clean' code here...
.clean-post: .clean-impl
# Add your post 'clean' code here...
# clobber
clobber: .clobber-post
.clobber-pre:
# Add your pre 'clobber' code here...
.clobber-post: .clobber-impl
# Add your post 'clobber' code here...
# all
all: .all-post
.all-pre:
# Add your pre 'all' code here...
.all-post: .all-impl
# Add your post 'all' code here...
# build tests
build-tests: .build-tests-post
.build-tests-pre:
# Add your pre 'build-tests' code here...
.build-tests-post: .build-tests-impl
# Add your post 'build-tests' code here...
# run tests
test: .test-post
.test-pre:
# Add your pre 'test' code here...
.test-post: .test-impl
# Add your post 'test' code here...
# help
help: .help-post
.help-pre:
# Add your pre 'help' code here...
.help-post: .help-impl
# Add your post 'help' code here...
# include project implementation makefile
include nbproject/Makefile-impl.mk
# include project make variables
include nbproject/Makefile-variables.mk
+66
View File
@@ -0,0 +1,66 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc
CCC=g++
CXX=g++
FC=
AS=as
# Macros
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Default
CND_DISTDIR=dist
# Include project Makefile
include luxOS-Makefile.mk
# Object Directory
OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES=
# C Compiler Flags
CFLAGS=
# CC Compiler Flags
CCFLAGS=
CXXFLAGS=
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
cd /home/tiberiu/lux && kdesudo sh build.sh
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
cd /home/tiberiu/lux && kdesudo sh build.sh
# Subprojects
.clean-subprojects:
+133
View File
@@ -0,0 +1,133 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a pre- and a post- target defined where you can add customization code.
#
# This makefile implements macros and targets common to all configurations.
#
# NOCDDL
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
# and .clean-reqprojects-conf unless SUB has the value 'no'
SUB_no=NO
SUBPROJECTS=${SUB_${SUB}}
BUILD_SUBPROJECTS_=.build-subprojects
BUILD_SUBPROJECTS_NO=
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
CLEAN_SUBPROJECTS_=.clean-subprojects
CLEAN_SUBPROJECTS_NO=
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
# Project Name
PROJECTNAME=luxOS
# Active Configuration
DEFAULTCONF=Default
CONF=${DEFAULTCONF}
# All Configurations
ALLCONFS=Default
# build
.build-impl: .build-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
# clean
.clean-impl: .clean-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
# clobber
.clobber-impl: .clobber-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
done
# all
.all-impl: .all-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
done
# build tests
.build-tests-impl: .build-impl .build-tests-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
# run tests
.test-impl: .build-tests-impl .test-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
# dependency checking support
.depcheck-impl:
@echo "# This code depends on make tool being used" >.dep.inc
@if [ -n "${MAKE_VERSION}" ]; then \
echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
echo "include \$${DEPFILES}" >>.dep.inc; \
echo "endif" >>.dep.inc; \
else \
echo ".KEEP_STATE:" >>.dep.inc; \
echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
fi
# configuration validation
.validate-impl:
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
echo ""; \
echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
echo "See 'make help' for details."; \
echo "Current directory: " `pwd`; \
echo ""; \
fi
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
exit 1; \
fi
# help
.help-impl: .help-pre
@echo "This makefile supports the following configurations:"
@echo " ${ALLCONFS}"
@echo ""
@echo "and the following targets:"
@echo " build (default target)"
@echo " clean"
@echo " clobber"
@echo " all"
@echo " help"
@echo ""
@echo "Makefile Usage:"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
@echo " make [SUB=no] clobber"
@echo " make [SUB=no] all"
@echo " make help"
@echo ""
@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
@echo " also clean subprojects."
@echo "Target 'clobber' will remove all built files from all configurations and,"
@echo " unless 'SUB=no', also from subprojects."
@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'help' prints this message."
@echo ""
+16
View File
@@ -0,0 +1,16 @@
#
# Generated - do not edit!
#
# NOCDDL
#
CND_BASEDIR=`pwd`
CND_BUILDDIR=build
CND_DISTDIR=dist
# Default configuration
CND_PLATFORM_Default=GNU-Linux-x86
CND_ARTIFACT_DIR_Default=
CND_ARTIFACT_NAME_Default=
CND_ARTIFACT_PATH_Default=
CND_PACKAGE_DIR_Default=dist/Default/GNU-Linux-x86/package
CND_PACKAGE_NAME_Default=luxOS.tar
CND_PACKAGE_PATH_Default=dist/Default/GNU-Linux-x86/package/luxOS.tar
+74
View File
@@ -0,0 +1,74 @@
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Default
CND_DISTDIR=dist
NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=MissingOutputInProject
OUTPUT_BASENAME=MissingOutputInProject
PACKAGE_TOP_DIR=luxOS/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/luxOS/bin"
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/luxOS.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/luxOS.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
+118
View File
@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="69">
<logicalFolder name="root" displayName="root" projectFiles="true">
<df name="lux" root="/home/tiberiu/lux">
<df name="floppy" kind="SOURCE_LOGICAL_FOLDER">
</df>
<df name="Kernel" kind="SOURCE_LOGICAL_FOLDER">
<df name="debug">
<in>console-base.c</in>
<in>console-in.c</in>
<in>console-out.c</in>
<in>console.c</in>
</df>
<df name="drivers">
<df name="cmos" kind="SOURCE_LOGICAL_FOLDER">
<in>cmos.c</in>
<in>cmos.h</in>
</df>
<df name="pit" kind="SOURCE_LOGICAL_FOLDER">
<in>pit.c</in>
<in>pit.h</in>
</df>
<in>drivers.c</in>
<in>drivers.h</in>
</df>
<df name="hal" kind="SOURCE_LOGICAL_FOLDER">
<df name="clock" kind="SOURCE_LOGICAL_FOLDER">
<in>clock.c</in>
<in>clock.h</in>
</df>
<df name="cpu" kind="SOURCE_LOGICAL_FOLDER">
<in>gdt.c</in>
<in>gdt.h</in>
<in>idt.c</in>
<in>idt.h</in>
<in>irq.c</in>
<in>irq.h</in>
<in>isrs.c</in>
<in>isrs.h</in>
<in>pic.c</in>
<in>pic.h</in>
</df>
<df name="keyboard">
<in>keyboard.c</in>
<in>keyboard.h</in>
</df>
<df name="mouse">
<in>mouse.c</in>
<in>mouse.h</in>
</df>
<in>hal.c</in>
<in>hal.h</in>
</df>
<df name="include" kind="SOURCE_LOGICAL_FOLDER">
<in>ctype.h</in>
<in>debugio.h</in>
<in>memory.h</in>
<in>stdarg.h</in>
<in>stdio.h</in>
<in>stdlib.h</in>
<in>time.h</in>
<in>types.h</in>
<in>va_list.h</in>
</df>
<df name="library" kind="SOURCE_LOGICAL_FOLDER">
<in>ctype.c</in>
<in>memory.c</in>
<in>stdio.c</in>
<in>stdlib.c</in>
<in>time.c</in>
</df>
<df name="memory" kind="SOURCE_LOGICAL_FOLDER">
<in>memory-ph.c</in>
</df>
<in>main.c</in>
</df>
</df>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
projectFiles="false"
kind="IMPORTANT_FILES_FOLDER">
<itemPath>/home/tiberiu/lux/Makefile</itemPath>
<itemPath>/home/tiberiu/lux/build.sh</itemPath>
<itemPath>luxOS-Makefile.mk</itemPath>
</logicalFolder>
</logicalFolder>
<sourceRootList>
<Elem>/home/tiberiu/lux</Elem>
</sourceRootList>
<projectmakefile>luxOS-Makefile.mk</projectmakefile>
<confs>
<conf name="Default" type="0">
<toolsSet>
<developmentServer>localhost</developmentServer>
<compilerSet>GNU|GNU</compilerSet>
<platform>2</platform>
</toolsSet>
<makefileType>
<makeTool>
<buildCommandWorkingDir>/home/tiberiu/lux</buildCommandWorkingDir>
<buildCommand>kdesudo sh build.sh</buildCommand>
<cleanCommand>kdesudo sh build.sh</cleanCommand>
<executablePath></executablePath>
<cTool>
<incDir>
<pElem>/home/tiberiu/lux/Kernel/include</pElem>
</incDir>
</cTool>
<ccTool>
<incDir>
<pElem>/home/tiberiu/lux/Kernel/include</pElem>
</incDir>
</ccTool>
</makeTool>
</makefileType>
</conf>
</confs>
</configurationDescriptor>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.cnd.makeproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/make-project/1">
<name>luxOS</name>
<make-project-type>0</make-project-type>
<c-extensions>c</c-extensions>
<cpp-extensions/>
<header-extensions>h</header-extensions>
<sourceEncoding>UTF-8</sourceEncoding>
<make-dep-projects/>
<sourceRootList>
<sourceRootElem>/home/tiberiu/lux</sourceRootElem>
</sourceRootList>
<confList>
<confElem>Default</confElem>
</confList>
</data>
</configuration>
</project>
+5
View File
@@ -0,0 +1,5 @@
# This code depends on make tool being used
DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
ifneq (${DEPFILES},)
include ${DEPFILES}
endif
+128
View File
@@ -0,0 +1,128 @@
#
# There exist several targets which are by default empty and which can be
# used for execution of your targets. These targets are usually executed
# before and after some main targets. They are:
#
# .build-pre: called before 'build' target
# .build-post: called after 'build' target
# .clean-pre: called before 'clean' target
# .clean-post: called after 'clean' target
# .clobber-pre: called before 'clobber' target
# .clobber-post: called after 'clobber' target
# .all-pre: called before 'all' target
# .all-post: called after 'all' target
# .help-pre: called before 'help' target
# .help-post: called after 'help' target
#
# Targets beginning with '.' are not intended to be called on their own.
#
# Main targets can be executed directly, and they are:
#
# build build a specific configuration
# clean remove built files from a configuration
# clobber remove all built files
# all build all configurations
# help print help mesage
#
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
# .help-impl are implemented in nbproject/makefile-impl.mk.
#
# Available make variables:
#
# CND_BASEDIR base directory for relative paths
# CND_DISTDIR default top distribution directory (build artifacts)
# CND_BUILDDIR default top build directory (object files, ...)
# CONF name of current configuration
# CND_PLATFORM_${CONF} platform name (current configuration)
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
#
# NOCDDL
# Environment
MKDIR=mkdir
CP=cp
CCADMIN=CCadmin
# build
build: .build-post
.build-pre:
# Add your pre 'build' code here...
.build-post: .build-impl
# Add your post 'build' code here...
# clean
clean: .clean-post
.clean-pre:
# Add your pre 'clean' code here...
.clean-post: .clean-impl
# Add your post 'clean' code here...
# clobber
clobber: .clobber-post
.clobber-pre:
# Add your pre 'clobber' code here...
.clobber-post: .clobber-impl
# Add your post 'clobber' code here...
# all
all: .all-post
.all-pre:
# Add your pre 'all' code here...
.all-post: .all-impl
# Add your post 'all' code here...
# build tests
build-tests: .build-tests-post
.build-tests-pre:
# Add your pre 'build-tests' code here...
.build-tests-post: .build-tests-impl
# Add your post 'build-tests' code here...
# run tests
test: .test-post
.test-pre:
# Add your pre 'test' code here...
.test-post: .test-impl
# Add your post 'test' code here...
# help
help: .help-post
.help-pre:
# Add your pre 'help' code here...
.help-post: .help-impl
# Add your post 'help' code here...
# include project implementation makefile
include nbproject/Makefile-impl.mk
# include project make variables
include nbproject/Makefile-variables.mk
+89
View File
@@ -0,0 +1,89 @@
/*
* File: main.c
* Author: tiberiu
*
* Created on June 25, 2011, 7:32 PM
*/
#include <stdio.h>
#include <stdlib.h>
typedef unsigned char uint8;
typedef unsigned short uint16;
typedef unsigned uint32;
typedef signed char int8;
typedef signed short int16;
typedef signed int int32;
// User friendly time structure
typedef struct
{
int32 Year;
uint8 Month, WeekDay, Day; // Day starts monday
uint8 Hour, Minute, Second;
uint16 Milisecond;
} Time;
// System time structure
typedef struct {
uint32 Date, Time;
} TimeSystem;
// Length of months (summed)
int16 MonthLen[] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 };
TimeSystem InternalTime;
void SetInternalTime (Time t)
{
t.Year--; t.Month--; t.Day--; t.WeekDay--;
InternalTime.Time = (uint32)(t.Hour * 3600000) + (uint32)(t.Minute * 60000) + (uint32)(t.Second * 1000) + (uint32)t.Milisecond;
if (t.Year < 0) return;
InternalTime.Date = (uint32)(t.Day) + (uint32)(MonthLen[t.Month]) +
+ (uint32)((t.Year/4) * (365*4 + 1)) + (uint32)(t.Year%4 * 365);
}
Time GetInternalTime ()
{
Time t;
t.Milisecond = InternalTime.Time % 1000;
t.Second = (InternalTime.Time / 1000) % 60;
t.Minute = (InternalTime.Time / 60000) % 60;
t.Hour = (InternalTime.Time / 3600000);
uint32 DayOfYear = (InternalTime.Date % 1461) % 365;
t.Year = (InternalTime.Date / 1461)*4 + (InternalTime.Date % 1461)/365 + 1;
t.Month = 11;
while (DayOfYear < (MonthLen[t.Month] + (t.Year % 4 == 0 && t.Month>1))) t.Month--;
t.WeekDay = InternalTime.Date % 7;
t.Day = DayOfYear - MonthLen[t.Month] - (t.Year % 4 == 0 && t.Month>1);
t.Month++; t.WeekDay++; t.Day++;
return t;
}
int main(int argc, char** argv) {
// YYYY MM Wd DD HH MM SS MS
Time t = { 2000, 6, 2, 11, 11, 35, 11, 221 };
printf("Setting internal timer to %02u %02u %04u, %u:%02u:%02u.%03u, weekday=%u\n",
t.Day, t.Month, t.Year, t.Hour, t.Minute, t.Second, t.Milisecond, t.WeekDay);
SetInternalTime(t);
t = GetInternalTime();
printf("Internal timer values: %u %u\n", InternalTime.Date, InternalTime.Time);
printf("Received: %02u %02u %04u, %u:%02u:%02u.%03u, weekday=%u",
t.Day, t.Month, t.Year, t.Hour, t.Minute, t.Second, t.Milisecond, t.WeekDay);
return 0;
}
+82
View File
@@ -0,0 +1,82 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc
CCC=g++
CXX=g++
FC=
AS=as
# Macros
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Debug
CND_DISTDIR=dist
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES= \
${OBJECTDIR}/main.o
# C Compiler Flags
CFLAGS=-Wall
# CC Compiler Flags
CCFLAGS=-Wall
CXXFLAGS=-Wall
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
"${MAKE}" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/luxtime
dist/Debug/GNU-Linux-x86/luxtime: ${OBJECTFILES}
${MKDIR} -p dist/Debug/GNU-Linux-x86
${LINK.c} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/luxtime ${OBJECTFILES} ${LDLIBSOPTIONS}
${OBJECTDIR}/main.o: main.c
${MKDIR} -p ${OBJECTDIR}
${RM} $@.d
$(COMPILE.c) -g -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.c
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
${RM} -r build/Debug
${RM} dist/Debug/GNU-Linux-x86/luxtime
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
+82
View File
@@ -0,0 +1,82 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc
CCC=g++
CXX=g++
FC=
AS=as
# Macros
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Release
CND_DISTDIR=dist
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES= \
${OBJECTDIR}/main.o
# C Compiler Flags
CFLAGS=
# CC Compiler Flags
CCFLAGS=
CXXFLAGS=
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
"${MAKE}" -f nbproject/Makefile-Release.mk dist/Release/GNU-Linux-x86/luxtime
dist/Release/GNU-Linux-x86/luxtime: ${OBJECTFILES}
${MKDIR} -p dist/Release/GNU-Linux-x86
${LINK.c} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/luxtime ${OBJECTFILES} ${LDLIBSOPTIONS}
${OBJECTDIR}/main.o: main.c
${MKDIR} -p ${OBJECTDIR}
${RM} $@.d
$(COMPILE.c) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.c
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
${RM} -r build/Release
${RM} dist/Release/GNU-Linux-x86/luxtime
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
+133
View File
@@ -0,0 +1,133 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a pre- and a post- target defined where you can add customization code.
#
# This makefile implements macros and targets common to all configurations.
#
# NOCDDL
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
# and .clean-reqprojects-conf unless SUB has the value 'no'
SUB_no=NO
SUBPROJECTS=${SUB_${SUB}}
BUILD_SUBPROJECTS_=.build-subprojects
BUILD_SUBPROJECTS_NO=
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
CLEAN_SUBPROJECTS_=.clean-subprojects
CLEAN_SUBPROJECTS_NO=
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
# Project Name
PROJECTNAME=luxTime
# Active Configuration
DEFAULTCONF=Debug
CONF=${DEFAULTCONF}
# All Configurations
ALLCONFS=Debug Release
# build
.build-impl: .build-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
# clean
.clean-impl: .clean-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
# clobber
.clobber-impl: .clobber-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
done
# all
.all-impl: .all-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
done
# build tests
.build-tests-impl: .build-impl .build-tests-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
# run tests
.test-impl: .build-tests-impl .test-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
# dependency checking support
.depcheck-impl:
@echo "# This code depends on make tool being used" >.dep.inc
@if [ -n "${MAKE_VERSION}" ]; then \
echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
echo "include \$${DEPFILES}" >>.dep.inc; \
echo "endif" >>.dep.inc; \
else \
echo ".KEEP_STATE:" >>.dep.inc; \
echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
fi
# configuration validation
.validate-impl:
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
echo ""; \
echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
echo "See 'make help' for details."; \
echo "Current directory: " `pwd`; \
echo ""; \
fi
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
exit 1; \
fi
# help
.help-impl: .help-pre
@echo "This makefile supports the following configurations:"
@echo " ${ALLCONFS}"
@echo ""
@echo "and the following targets:"
@echo " build (default target)"
@echo " clean"
@echo " clobber"
@echo " all"
@echo " help"
@echo ""
@echo "Makefile Usage:"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
@echo " make [SUB=no] clobber"
@echo " make [SUB=no] all"
@echo " make help"
@echo ""
@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
@echo " also clean subprojects."
@echo "Target 'clobber' will remove all built files from all configurations and,"
@echo " unless 'SUB=no', also from subprojects."
@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'help' prints this message."
@echo ""
@@ -0,0 +1,24 @@
#
# Generated - do not edit!
#
# NOCDDL
#
CND_BASEDIR=`pwd`
CND_BUILDDIR=build
CND_DISTDIR=dist
# Debug configuration
CND_PLATFORM_Debug=GNU-Linux-x86
CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
CND_ARTIFACT_NAME_Debug=luxtime
CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/luxtime
CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
CND_PACKAGE_NAME_Debug=luxtime.tar
CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/luxtime.tar
# Release configuration
CND_PLATFORM_Release=GNU-Linux-x86
CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
CND_ARTIFACT_NAME_Release=luxtime
CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/luxtime
CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
CND_PACKAGE_NAME_Release=luxtime.tar
CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/luxtime.tar
+74
View File
@@ -0,0 +1,74 @@
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Debug
CND_DISTDIR=dist
NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/luxtime
OUTPUT_BASENAME=luxtime
PACKAGE_TOP_DIR=luxtime/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/luxtime/bin"
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/luxtime.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/luxtime.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
@@ -0,0 +1,74 @@
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Release
CND_DISTDIR=dist
NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/luxtime
OUTPUT_BASENAME=luxtime
PACKAGE_TOP_DIR=luxtime/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/luxtime/bin"
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/luxtime.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/luxtime.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
+71
View File
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="69">
<logicalFolder name="root" displayName="root" projectFiles="true">
<logicalFolder name="HeaderFiles"
displayName="Header Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
</logicalFolder>
<logicalFolder name="ResourceFiles"
displayName="Resource Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
</logicalFolder>
<logicalFolder name="SourceFiles"
displayName="Source Files"
projectFiles="true"
kind="SOURCE_LOGICAL_FOLDER">
<itemPath>main.c</itemPath>
</logicalFolder>
<logicalFolder name="TestFiles"
displayName="Test Files"
projectFiles="false"
kind="TEST_LOGICAL_FOLDER">
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
projectFiles="false"
kind="IMPORTANT_FILES_FOLDER">
<itemPath>Makefile</itemPath>
</logicalFolder>
</logicalFolder>
<projectmakefile>Makefile</projectmakefile>
<confs>
<conf name="Debug" type="1">
<toolsSet>
<developmentServer>localhost</developmentServer>
<compilerSet>GNU|GNU</compilerSet>
<platform>2</platform>
</toolsSet>
<compileType>
<cTool>
<commandLine>-Wall</commandLine>
</cTool>
<ccTool>
<commandLine>-Wall</commandLine>
</ccTool>
</compileType>
</conf>
<conf name="Release" type="1">
<toolsSet>
<developmentServer>localhost</developmentServer>
<compilerSet>GNU|GNU</compilerSet>
<platform>2</platform>
</toolsSet>
<compileType>
<cTool>
<developmentMode>5</developmentMode>
</cTool>
<ccTool>
<developmentMode>5</developmentMode>
</ccTool>
<fortranCompilerTool>
<developmentMode>5</developmentMode>
</fortranCompilerTool>
<asmTool>
<developmentMode>5</developmentMode>
</asmTool>
</compileType>
</conf>
</confs>
</configurationDescriptor>
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.cnd.makeproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/make-project/1">
<name>luxTime</name>
<make-project-type>0</make-project-type>
<c-extensions>c</c-extensions>
<cpp-extensions/>
<header-extensions/>
<sourceEncoding>UTF-8</sourceEncoding>
<make-dep-projects/>
<sourceRootList/>
<confList>
<confElem>Debug</confElem>
<confElem>Release</confElem>
</confList>
</data>
</configuration>
</project>