{ "Fennix Kernel Header": { "prefix": [ "head", ], "body": [ "/*", "\tThis file is part of Fennix Kernel.", "", "\tFennix Kernel is free software: you can redistribute it and/or", "\tmodify it under the terms of the GNU General Public License as", "\tpublished by the Free Software Foundation, either version 3 of", "\tthe License, or (at your option) any later version.", "", "\tFennix Kernel is distributed in the hope that it will be useful,", "\tbut WITHOUT ANY WARRANTY; without even the implied warranty of", "\tMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the", "\tGNU General Public License for more details.", "", "\tYou should have received a copy of the GNU General Public License", "\talong with Fennix Kernel. If not, see .", "*/", "", "#ifndef __FENNIX_KERNEL_${1:header}_H__", "#define __FENNIX_KERNEL_${1:header}_H__", "", "#include ", "", "$0", "", "#endif // !__FENNIX_KERNEL_${1:header}_H__", "" ], "description": "Create kernel header." }, "Fennix Kernel brief": { "prefix": [ "brief", ], "body": [ "/** @brief $0 */" ], "description": "Create kernel documentation brief." }, "For Iteration": { "prefix": [ "foritr", ], "body": [ "forItr(${1:itr}, ${2:container})", "{", "\t$0", "}" ], "description": "Create for loop with iterator." }, "License": { "prefix": [ "license", ], "body": [ "/*", "\tThis file is part of Fennix Kernel.", "", "\tFennix Kernel is free software: you can redistribute it and/or", "\tmodify it under the terms of the GNU General Public License as", "\tpublished by the Free Software Foundation, either version 3 of", "\tthe License, or (at your option) any later version.", "", "\tFennix Kernel is distributed in the hope that it will be useful,", "\tbut WITHOUT ANY WARRANTY; without even the implied warranty of", "\tMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the", "\tGNU General Public License for more details.", "", "\tYou should have received a copy of the GNU General Public License", "\talong with Fennix Kernel. If not, see .", "*/" ], "description": "Create kernel license." }, "Driver Code": { "prefix": [ "driver", ], "body": [ "/*", "\tThis file is part of Fennix Kernel.", "", "\tFennix Kernel is free software: you can redistribute it and/or", "\tmodify it under the terms of the GNU General Public License as", "\tpublished by the Free Software Foundation, either version 3 of", "\tthe License, or (at your option) any later version.", "", "\tFennix Kernel is distributed in the hope that it will be useful,", "\tbut WITHOUT ANY WARRANTY; without even the implied warranty of", "\tMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the", "\tGNU General Public License for more details.", "", "\tYou should have received a copy of the GNU General Public License", "\talong with Fennix Kernel. If not, see .", "*/", "", "#include \"${1:driver}.hpp\"", "", "#include ", "", "#include \"../../../kernel.h\"", "", "namespace Driver", "{", "\tint ${2:driver}::drvOpen(int Flags, mode_t Mode) { return 0; }", "", "\tint ${2:driver}::drvClose() { return 0; }", "", "\tsize_t ${2:driver}::drvRead(uint8_t *Buffer, size_t Size, off_t Offset) { return 0; }", "", "\tsize_t ${2:driver}::drvWrite(uint8_t *Buffer, size_t Size, off_t Offset) { return 0; }", "", "\tint ${2:driver}::drvIoctl(unsigned long Request, void *Argp) { return 0; }", "", "\tvoid ${2:driver}::OnInterruptReceived(CPU::TrapFrame *) {}", "", "\tvoid ${2:driver}::Panic() {}", "", "\t${2:driver}::${2:driver}(PCI::PCIDevice dev)", "\t\t: Object(dev),", "\t\t Interrupts::Handler(dev)", "\t{", "\t}", "", "\t${2:driver}::${2:driver}(int irq)", "\t\t: Object(irq),", "\t\t Interrupts::Handler(irq)", "\t{", "\t}", "", "\t${2:driver}::${2:driver}()", "\t{", "\t}", "", "\t${2:driver}::~${2:driver}()", "\t{", "\t\tif (GetError() != 0)", "\t\t\treturn;", "\t}", "}", "", ], "description": "Kernel driver code template." }, "Driver Header": { "prefix": [ "driver", ], "body": [ "/*", "\tThis file is part of Fennix Kernel.", "", "\tFennix Kernel is free software: you can redistribute it and/or", "\tmodify it under the terms of the GNU General Public License as", "\tpublished by the Free Software Foundation, either version 3 of", "\tthe License, or (at your option) any later version.", "", "\tFennix Kernel is distributed in the hope that it will be useful,", "\tbut WITHOUT ANY WARRANTY; without even the implied warranty of", "\tMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the", "\tGNU General Public License for more details.", "", "\tYou should have received a copy of the GNU General Public License", "\talong with Fennix Kernel. If not, see .", "*/", "", "#pragma once", "#include ", "", "namespace Driver", "{", "\tclass ${1:driver} : public Object, public Interrupts::Handler", "\t{", "\tprivate:", "\t\tvoid OnInterruptReceived(CPU::TrapFrame *Frame) final;", "\t\tvoid Panic(Driver::DriverContext *ctx) final;", "", "\tpublic:", "\t\tint drvOpen(int Flags, mode_t Mode);", "\t\tint drvClose();", "\t\tsize_t drvRead(uint8_t *Buffer, size_t Size, off_t Offset);", "\t\tsize_t drvWrite(uint8_t *Buffer, size_t Size, off_t Offset);", "\t\tint drvIoctl(unsigned long Request, void *Argp);", "", "\t\tconst char *drvName() final { return \"${2:MyDriver}\"; }", "\t\tconst char *drvDescription() final { return \"${3:MyDescription}\"; }", "\t\tconst char *drvVersion() final { return \"${4:0.0.0}\"; }", "\t\tconst char *drvAuthor() final { return \"${5:Author}\"; }", "\t\tconst char *drvLicense() final { return \"${6:License}\"; }", "\t\tDriverType drvType() final { return DriverType_${7:Generic}; }", "", "\t\t${1:driver}(PCI::PCIDevice dev);", "\t\t${1:driver}(int irq);", "\t\t${1:driver}();", "\t\t~${1:driver}();", "\t};", "}", "", ], "description": "Kernel driver header template." } }