Example #1
0
int cfe_setenv(char *name, char *val)
{
    struct cfe_xiocb xiocb;

    xiocb.xiocb_fcode = CFE_CMD_ENV_SET;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = 0;
    xiocb.xiocb_flags = 0;
    xiocb.xiocb_psize = sizeof(struct xiocb_envbuf);
    xiocb.plist.xiocb_envbuf.enum_idx = 0;
    xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
    xiocb.plist.xiocb_envbuf.name_length = strlen(name);
    xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(val);
    xiocb.plist.xiocb_envbuf.val_length = strlen(val);

    cfe_iocb_dispatch(&xiocb);

    return xiocb.xiocb_status;
}
Example #2
0
int cfe_enumenv(int idx, char *name, int namelen, char *val, int vallen)
{
    struct cfe_xiocb xiocb;

    xiocb.xiocb_fcode = CFE_CMD_ENV_SET;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = 0;
    xiocb.xiocb_flags = 0;
    xiocb.xiocb_psize = sizeof(struct xiocb_envbuf);
    xiocb.plist.xiocb_envbuf.enum_idx = idx;
    xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
    xiocb.plist.xiocb_envbuf.name_length = namelen;
    xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(val);
    xiocb.plist.xiocb_envbuf.val_length = vallen;

    cfe_iocb_dispatch(&xiocb);

    return xiocb.xiocb_status;
}
Example #3
0
int
cfe_getenv(char *name, char *dest, int destlen)
{
    cfe_xiocb_t xiocb;

    *dest = 0;

    xiocb.xiocb_fcode = CFE_CMD_ENV_GET;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = 0;
    xiocb.xiocb_flags = 0;
    xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);
    xiocb.plist.xiocb_envbuf.enum_idx = 0;
    xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
    xiocb.plist.xiocb_envbuf.name_length = cfe_strlen(name);
    xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(dest);
    xiocb.plist.xiocb_envbuf.val_length = destlen;

    cfe_iocb_dispatch(&xiocb);

    return xiocb.xiocb_status;
}
Example #4
0
int
cfe_setenv(char *name, char *val)
{
    cfe_xiocb_t xiocb;

    xiocb.xiocb_fcode = CFE_CMD_ENV_SET;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = 0;
    xiocb.xiocb_flags = 0;
    xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);
    xiocb.plist.xiocb_envbuf.enum_idx = 0;
    xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
    xiocb.plist.xiocb_envbuf.name_length = cfe_strlen(name);
    xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(val);
    xiocb.plist.xiocb_envbuf.val_length = cfe_strlen(val);

    /* Set flag to program it to the flash */
    xiocb.xiocb_flags = CFE_FLG_ENV_PERMANENT;

    cfe_iocb_dispatch(&xiocb);

    return xiocb.xiocb_status;
}
Example #5
0
int
cfe_enumdev(int idx, char *name, int namelen)
{
    cfe_xiocb_t xiocb;

    xiocb.xiocb_fcode = CFE_CMD_DEV_ENUM;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = 0;
    xiocb.xiocb_flags = 0;
    xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);
    xiocb.plist.xiocb_envbuf.enum_idx = idx;
    xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
    xiocb.plist.xiocb_envbuf.name_length = namelen;

    cfe_iocb_dispatch(&xiocb);

    return xiocb.xiocb_status;
}
Example #6
0
int cfe_writeblk(int handle, s64 offset, unsigned char *buffer, int length)
{
    struct cfe_xiocb xiocb;

    xiocb.xiocb_fcode = CFE_CMD_DEV_WRITE;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = handle;
    xiocb.xiocb_flags = 0;
    xiocb.xiocb_psize = sizeof(struct xiocb_buffer);
    xiocb.plist.xiocb_buffer.buf_offset = offset;
    xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);
    xiocb.plist.xiocb_buffer.buf_length = length;

    cfe_iocb_dispatch(&xiocb);

    if (xiocb.xiocb_status < 0)
        return xiocb.xiocb_status;
    return xiocb.plist.xiocb_buffer.buf_retlen;
}
Example #7
0
int cfe_open(char *name)
{
    struct cfe_xiocb xiocb;

    xiocb.xiocb_fcode = CFE_CMD_DEV_OPEN;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = 0;
    xiocb.xiocb_flags = 0;
    xiocb.xiocb_psize = sizeof(struct xiocb_buffer);
    xiocb.plist.xiocb_buffer.buf_offset = 0;
    xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(name);
    xiocb.plist.xiocb_buffer.buf_length = strlen(name);

    cfe_iocb_dispatch(&xiocb);

    if (xiocb.xiocb_status < 0)
        return xiocb.xiocb_status;
    return xiocb.xiocb_handle;
}
Example #8
0
int
cfe_readblk(int handle, cfe_xint_t offset, unsigned char *buffer, int length)
{
    cfe_xiocb_t xiocb;

    xiocb.xiocb_fcode = CFE_CMD_DEV_READ;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = handle;
    xiocb.xiocb_flags = 0;
    xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
    xiocb.plist.xiocb_buffer.buf_offset = offset;
    xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);
    xiocb.plist.xiocb_buffer.buf_length = length;

    cfe_iocb_dispatch(&xiocb);

    if (xiocb.xiocb_status < 0)
        return xiocb.xiocb_status;
    return xiocb.plist.xiocb_buffer.buf_retlen;
}
Example #9
0
int
cfe_getdevinfo(char *name)
{
    cfe_xiocb_t xiocb;

    xiocb.xiocb_fcode = CFE_CMD_DEV_GETINFO;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = 0;
    xiocb.xiocb_flags = 0;
    xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
    xiocb.plist.xiocb_buffer.buf_offset = 0;
    xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(name);
    xiocb.plist.xiocb_buffer.buf_length = cfe_strlen(name);

    cfe_iocb_dispatch(&xiocb);

    if (xiocb.xiocb_status < 0)
        return xiocb.xiocb_status;
    return xiocb.plist.xiocb_buffer.buf_devflags;
}
Example #10
0
int
cfe_ioctl(int handle, unsigned int ioctlnum, unsigned char *buffer, int length,
          int *retlen, cfe_xuint_t offset)
{
    cfe_xiocb_t xiocb;

    xiocb.xiocb_fcode = CFE_CMD_DEV_IOCTL;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = handle;
    xiocb.xiocb_flags = 0;
    xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
    xiocb.plist.xiocb_buffer.buf_offset = offset;
    xiocb.plist.xiocb_buffer.buf_ioctlcmd = ioctlnum;
    xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);
    xiocb.plist.xiocb_buffer.buf_length = length;

    cfe_iocb_dispatch(&xiocb);

    if (retlen)
        *retlen = xiocb.plist.xiocb_buffer.buf_retlen;
    return xiocb.xiocb_status;
}