메뉴 건너뛰기

NEOS 예제 코드

주의 : 본 기능은 NEOS V5에만 적용됩니다.

 

NEOS 쉘 명령어 추가시 아규먼트가 있는 명령어 추가 및 구현 방법에 대한 간단한 예제이다.

 

#include <sys/types.h>
#include <sys/param.h>
#include <sys/shell.h>
#include <sys/types.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>


void ShellSample2Cmd(int argn, char *argv[]);
void ShellSample2CmdUsage(void);

static ShellCmd TestCommand = \
	SHELL_CMD_ENTRY("test2", ShellSample2Cmd, "test2 arg1 arg2", "test command: print argument");


void ShellCommandInit(void)
{
    /* attach test commands */
    ShellAddGroup("test");

    ShellAddCmd("test", &TestCommand);
}


/**
 * ShellSample2Cmd
 *
 * DESCRIPTION
 * This is a simple example of making shell command
 * showing howto pass the arguments you need in the function
 * from command-line.
 *
 * PARAMETERS
 *  argn - [in]  Number of argument
 *  argv - [in]  Command line array
 * 
 */


void ShellSample2Cmd(int argn, char *argv[])
{
    int a1, a2, res;

    /* No arguments, simply print out mounted device */
    if (argn < 3)
    {
        ShellSample2CmdUsage();
        return;
    }
    a1    = (int)strtoul(argv[1], NULL, 10);
    a2    = (int)strtoul(argv[2], NULL, 10);

    printk("Sample Command 2: two arguments example\n\r");
    printk(" argument 1: %d\n\r", a1);
    printk(" argument 2: %d\n\r", a2);
}


/**
 * ShellSample2CmdUsage - print out the usage
 *
 * DESCRIPTION
 *  TgsSample2CmdUsage() function prints out the usage.
 *
 * PARAMETERS
 *  N/A
 *
 */


void ShellSample2CmdUsage(void)
{
    printf("usage: test2 arg1 arg2\n");
}
위로