Порт MSRPC idl файл в ONCRPC .x файл - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь портировать файл MSRPC .idl в файл ONCRPC .x.Я видел несколько простых примеров файлов .x вокруг Google.Но я хочу найти эквивалент перечисления в .x.Вот пример кода idl, который я хочу портировать:

[ uuid(1c2g7d9b-6afb-16d3-81bd-x145x355b9ar),
    version(1.0),
  pointer_default(ref)
]
interface FileTm
{
    typedef enum _DATA_SIZE
    {
        DataSize8,
        DataSize16,
        DataSize32,
        DataSize64
    } DATA_SIZE;
    typedef DATA_SIZE *PDATA_SIZE;

    const char *SERVNAME_PREFIX = "/.:/DATA_TM_"; //Server name is DATA_TM_HOSTNAME

    short DataFindDevice([in] DATA_SIZE DeviceCode);
}

Вот что я пробовал:

program DataTm_PROG {
    version DataTm_VER {
        int DataTm(intdata) = 1;
    } = 1;
} = 0x20000099;

enum _DATA_SIZE
{
    DataSize8,
    DataSize16,
    DataSize32,
    DataSize64
} DATA_SIZE;
typedef DATA_SIZE *PDATA_SIZE;

const char *SERVNAME_PREFIX = "/.:/DATA_TM_"; //Server name is DATA_TM_HOSTNAME 

при запуске rpcgen filename.x, яполучить ошибки:

} DATA_SIZE;
^^^^^^^^^^^^^^^^^^
filename.x, line 22: expected ';'

const char *SERVNAME_PREFIX = "/.:/DATA_TM_"; //Server name is DATA_TM_HOSTNAME
^^^^^^^^^^
filename.x, line 62: expected 'identifier'

Я еще не пробовал короткую функцию.Я не уверен, что делать с [in] в .x файле.Я работаю с Linux (RHEL 7.5).Любая помощь приветствуется.

...