我有一个代码可以检测内核模块中的GPIO中断。现在,我正在寻找一种从内核模块检测到gpio中断时通知用户空间的机制。相对于其他选项,是否有某些示例/代码段具有某些优点/缺点?非常感谢您的回复。
以下二维数组代码抛出错误 #29 期望表达式。
typedef enum
{
BATTERY_POW = 0,
USB_POW = 1,
END_STATE = 2
} BMTState_e;
typedef enum //event enums
{
NO_EVENT = 0,
BOOT_EVENT =1,
//I/O events
POW_GOOD_LOW =2,
POW_GOOD_HIGH = 3,
VBUS_POW_LOW = 4,
VBUS_POW_HIGH =5
}BMTEvent_e;
Run Code Online (Sandbox Code Playgroud)
该结构定义为
typedef struct //state machine definition
{
void (*funcPtr)();
BMTState_e nextState;
}BMTAction_t;
BMTState_e BMTGlobal_State ; //global state
Run Code Online (Sandbox Code Playgroud)
该函数定义为
void BMTTest()
{
//do nothing for time being
}
BMTAction_t action[END_STATE][END_EVENT]={
[BATTERY_POW][NO_EVENT] = {BMTTest,BATTERY_POW}
[BATTERY_POW][BOOT_EVENT] = {BMTTest,BATTERY_POW},
[BATTERY_POW][POW_GOOD_LOW] = {BMTTest,USB_POW},
[BATTERY_POW][POW_GOOD_HIGH] = …Run Code Online (Sandbox Code Playgroud) 我正在努力实现以下目标:
./vpnconnect.sh start 应该建立到服务器的 VPN 连接。 ./vpnconnect.sh stop 应终止 VPN 连接。 这是未按预期工作的尝试的 shell 脚本。它给出了错误:
~$ ./vpnconnect.sh stop
Stopping VPN connection:
./vpnconnect.sh: 22: ./vpnconnect.sh: root: not found
./vpnconnect.sh: 26: ./vpnconnect.sh: 14128: not found
Run Code Online (Sandbox Code Playgroud)
剧本:
#!/bin/sh
#
#
#
#
PIDOCN=""
VAR2=""
# Start the VPN
start() {
echo "Starting VPN Connection"
eval $(echo 'TestVpn&!' | sudo openconnect -q -b --no-cert-check 127.0.0.1 -u myUser --passwd-on-stdin)
success $"VPN Connection established"
}
# Stop the VPN
stop() {
echo "Stopping VPN connection:"
VAR2=eval $(sudo …Run Code Online (Sandbox Code Playgroud)