1 // Copyright 2018 The Fuchsia Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #pragma once 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 #define MENU_WAIT 3 // number of seconds 12 13 typedef enum { 14 kInitMod, 15 kAppName, 16 kStart, 17 kReadParms, 18 kEditParms, 19 kShowParms, 20 kErrorLookup, 21 kInitNi, 22 kWaitNi, 23 kNiAddr, 24 kNetUp, 25 kNetDown, 26 kParseMonCmd, 27 kModCmdList, 28 kModName, 29 kFormat, 30 kFormatResetWc, 31 kUnformat, 32 kMount, 33 kSync, 34 kVolName, 35 kDevInserted, 36 kDevRemoved, 37 kCfUartDriver, 38 kDev, 39 kDisplayStats, 40 kResetStats, 41 kDnsSdAdded, 42 kDnsSdRemoved, 43 kmDnsResolved, 44 kmDnsQueryResolved, 45 kScrInit, 46 kInfo, 47 } SysModCmds; 48 49 typedef void* (*Module)(int code, ...); 50 51 extern Module ModuleList[]; 52 53 // Module List API 54 55 void modInit(void); 56 void modAdd(Module module); 57 void modReadParms(void); 58 void modMenu(int menu_wait); 59 void modLoop(int req); 60 Module modFirst(void); 61 Module modNext(Module mod); 62 63 // File Systems and Driver Modules 64 65 void* FsModule(int req, ...); 66 void* NdmModule(int req, ...); 67 68 #ifdef __cplusplus 69 } 70 #endif 71