Esempio n. 1
0
static
rc_t CC
_EncAttr_init_check_v1 (
                const struct XFSAttrEditor * self,
                const struct XFSEncEntry ** Entry
)
{
    struct XFSEncNode * Node = NULL;

    XFS_CSAN ( Entry )

    XFS_CAN ( self )
    XFS_CAN ( Entry )


    Node = ( struct XFSEncNode * ) XFSEditorNode (
                                                & ( self -> Papahen )
                                                );

    XFS_CA ( Node, NULL )
    XFS_CA ( Node -> entry, NULL )

    * Entry = Node -> entry;

    return 0;
}   /* _EncAttr_init_check_v1 () */
Esempio n. 2
0
static
rc_t CC
_EncFile_read_v1 (
                    const struct XFSFileEditor * self,
                    uint64_t Offset,
                    void * Buffer,
                    size_t SizeToRead,
                    size_t * NumReaded
)
{
    rc_t RCt;
    struct XFSEncFileEditor * Editor;

    RCt = 0;
    Editor = ( struct XFSEncFileEditor * ) self;

    XFS_CAN ( Editor )
    XFS_CA ( Editor -> entry, NULL )


    RCt = XFSEncEntryRead (
                        Editor -> entry,
                        Offset,
                        Buffer,
                        SizeToRead,
                        NumReaded
                        );

    return RCt;
}   /* _EncFile_read_v1 () */
Esempio n. 3
0
static
rc_t CC
_EncFile_open_v1 (
                    const struct XFSFileEditor * self,
                    XFSNMode Mode
)
{
    rc_t RCt;
    const struct XFSEncNode * Node;
    struct XFSEncFileEditor * Editor;

    RCt = 0;
    Node = NULL;
    Editor = ( struct XFSEncFileEditor * ) self;

    if ( Mode != kxfsRead ) {
        return XFS_RC ( rcInvalid );
    }

    XFS_CAN ( self )

    Node = ( const struct XFSEncNode * ) XFSEditorNode (
                                                & ( self -> Papahen )
                                                );
    XFS_CA ( Node, NULL )
    XFS_CA ( Node -> entry, NULL )

    Editor = ( struct XFSEncFileEditor * ) self;
    if ( Editor -> entry == NULL ) {
        if ( ! XFSEncEntryIsOpen ( Node -> entry ) ) {
            RCt = XFSEncEntryOpen ( Node -> entry );
        }
        if ( RCt == 0 ) {
            Editor -> entry = Node -> entry;
        }
    }

    return RCt;
}   /* _EncFile_open_v1 () */
Esempio n. 4
0
rc_t CC
_EncNodeDescribe_v1 (
            const struct XFSNode * self,
            char * Buffer,
            size_t BufferSize
)
{
    rc_t RCt;
    size_t NumWrit;
    const char * Abbr;

    RCt = 0;
    NumWrit = 0;
    Abbr = NULL;

    XFS_CAN ( Buffer )
    XFS_CA ( BufferSize, 0 )

    Abbr = "ENC NODE";

    if ( self == NULL ) {
        string_printf (
                    Buffer,
                    BufferSize,
                    & NumWrit,
                    "NODE (%s)[NULL][NULL]",
                    Abbr
                    );
    }
    else {
        string_printf (
                    Buffer,
                    BufferSize,
                    & NumWrit,
                    "NODE (%s)[%s][0x%p]",
                    Abbr,
                    self -> Name,
                    self
                    );
    }

    return RCt;
}   /* _EncNodeDescribe_v1 () */
Esempio n. 5
0
LIB_EXPORT
rc_t CC
XFS_VResolvePath (
                bool Absolute,
                char * Resolved,
                size_t ResolvedSize,
                const char * Format,
                va_list Args
)
{
    rc_t RCt;
    struct KDirectory * NatDir;

    RCt = 0;
    NatDir = NULL;

    XFS_CAN ( Resolved )
    XFS_CAN ( Format )
    XFS_CA ( ResolvedSize, 0 )

    RCt = KDirectoryNativeDir ( & NatDir );
    if ( RCt == 0 ) {
        RCt = KDirectoryVResolvePath (
                                    NatDir,
                                    Absolute,
                                    Resolved,
                                    ResolvedSize,
                                    Format,
                                    Args
                                    );
        KDirectoryRelease ( NatDir );
    }

    if ( RCt != 0 ) {
        * Resolved = 0;
    }

    return 0;
}   /* XFS_VResolvePath () */