Annotation of qemu/roms/SLOF/lib/libvirtio/p9.h, revision 1.1.1.1

1.1       root        1: /******************************************************************************
                      2:  * Copyright (c) 2011 IBM Corporation
                      3:  * All rights reserved.
                      4:  * This program and the accompanying materials
                      5:  * are made available under the terms of the BSD License
                      6:  * which accompanies this distribution, and is available at
                      7:  * http://www.opensource.org/licenses/bsd-license.php
                      8:  *
                      9:  * Contributors:
                     10:  *     IBM Corporation - initial implementation
                     11:  *****************************************************************************/
                     12: 
                     13: #ifndef P9_H
                     14: #define P9_H
                     15: 
                     16: #include <stdint.h>
                     17: 
                     18: 
                     19: #define P9_ERROR                       -1
                     20: #define P9_UNKNOWN_VERSION             -2
                     21: #define P9_R_ERROR                     -3
                     22: #define P9_MSG_TOO_LONG                        -4
                     23: #define P9_UNEXPECTED_MSG              -5
                     24: #define P9_UNEXPECTED_TAG              -6
                     25: #define P9_TRANSPORT_ERROR             -7
                     26: #define P9_NO_TRANSPORT                        -8
                     27: #define P9_NULL_PATH                   -9
                     28: #define P9_PATH_ELEMENT_TOO_LONG       -10
                     29: #define P9_READ_UNEXPECTED_DATA                -11
                     30: #define P9_NO_BUFFER                   -12
                     31: #define P9_MSG_SIZE_TOO_BIG            -13
                     32: 
                     33: #define P9_PARTIAL_WALK                        1
                     34: 
                     35: typedef int (*p9_transact_t)(void *opaque, uint8_t *tx, int tx_size,
                     36:                uint8_t *rx, int *rx_size);
                     37: 
                     38: typedef struct {
                     39:        uint32_t message_size;
                     40:        char *uname;            /* User name. */
                     41:        char *aname;            /* Tree/mount name/path. */
                     42:        uint32_t fid;           /* Represents mount point. */
                     43: } p9_connection_t;
                     44: 
                     45: typedef struct {
                     46:        uint32_t fid;           /* Identifies the file to P9 server. */
                     47:        uint32_t iounit;        /* Maximum read size in bytes. */
                     48:        uint8_t type;           /* Type of file. */
                     49:        uint64_t length;        /* Length of file. */
                     50:        p9_connection_t *connection;
                     51: } p9_file_t;
                     52: 
                     53: 
                     54: void reset_buffers(void);
                     55: void p9_reg_transport(p9_transact_t transact_func, void *opaque,
                     56:                      uint8_t *tx_buffer, uint8_t *rx_buffer);
                     57: int p9_transaction(p9_connection_t *connection);
                     58: int p9_version(p9_connection_t *connection);
                     59: int p9_attach(p9_connection_t *connection);
                     60: int p9_clunk(p9_connection_t *connection, uint32_t fid);
                     61: int p9_walk(p9_connection_t *connection, uint32_t fid, uint32_t new_fid,
                     62:                uint8_t **pos);
                     63: int p9_open(p9_file_t *file, uint8_t mode);
                     64: int p9_read(p9_file_t *file, uint8_t *buffer,
                     65:                uint32_t count, uint64_t offset);
                     66: int p9_stat(p9_file_t *file);
                     67: 
                     68: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.