[BACK]Return to onewirevar.h CVS log [TXT][DIR] Up to [local] / sys / dev / onewire

Annotation of sys/dev/onewire/onewirevar.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: onewirevar.h,v 1.4 2006/10/08 21:12:51 grange Exp $   */
        !             2:
        !             3: /*
        !             4:  * Copyright (c) 2006 Alexander Yurchenko <grange@openbsd.org>
        !             5:  *
        !             6:  * Permission to use, copy, modify, and distribute this software for any
        !             7:  * purpose with or without fee is hereby granted, provided that the above
        !             8:  * copyright notice and this permission notice appear in all copies.
        !             9:  *
        !            10:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
        !            11:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
        !            12:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
        !            13:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
        !            14:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
        !            15:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
        !            16:  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
        !            17:  */
        !            18:
        !            19: #ifndef _DEV_ONEWIRE_ONEWIREVAR_H_
        !            20: #define _DEV_ONEWIRE_ONEWIREVAR_H_
        !            21:
        !            22: /*
        !            23:  * 1-Wire bus interface.
        !            24:  */
        !            25:
        !            26: /* Bus master interface */
        !            27: struct onewire_bus {
        !            28:        void *  bus_cookie;
        !            29:
        !            30:        int     (*bus_reset)(void *);
        !            31:        int     (*bus_bit)(void *, int);
        !            32:        int     (*bus_read_byte)(void *);
        !            33:        void    (*bus_write_byte)(void *, int);
        !            34:        void    (*bus_read_block)(void *, void *, int);
        !            35:        void    (*bus_write_block)(void *, const void *, int);
        !            36:        int     (*bus_triplet)(void *, int);
        !            37:        void    (*bus_matchrom)(void *, u_int64_t);
        !            38:        int     (*bus_search)(void *, u_int64_t *, int, u_int64_t);
        !            39: };
        !            40:
        !            41: /* Bus methods */
        !            42: int            onewire_lock(void *, int);
        !            43: void           onewire_unlock(void *);
        !            44:
        !            45: int            onewire_reset(void *);
        !            46: int            onewire_bit(void *, int);
        !            47: int            onewire_read_byte(void *);
        !            48: void           onewire_write_byte(void *, int);
        !            49: void           onewire_read_block(void *, void *, int);
        !            50: void           onewire_write_block(void *, const void *, int);
        !            51: int            onewire_triplet(void *, int);
        !            52: void           onewire_matchrom(void *, u_int64_t);
        !            53: int            onewire_search(void *, u_int64_t *, int, u_int64_t);
        !            54:
        !            55: #define ONEWIRE_NOWAIT         0x0001
        !            56:
        !            57: /* Bus attachment */
        !            58: struct onewirebus_attach_args {
        !            59:        struct onewire_bus *    oba_bus;
        !            60: };
        !            61:
        !            62: int    onewirebus_print(void *, const char *);
        !            63:
        !            64: /* Device attachment */
        !            65: struct onewire_attach_args {
        !            66:        void *                  oa_onewire;
        !            67:        u_int64_t               oa_rom;
        !            68: };
        !            69:
        !            70: /* Family matching */
        !            71: struct onewire_matchfam {
        !            72:        int om_type;
        !            73: };
        !            74:
        !            75: /* Miscellaneous routines */
        !            76: int            onewire_crc(const void *, int);
        !            77: const char *   onewire_famname(int);
        !            78: int            onewire_matchbyfam(struct onewire_attach_args *,
        !            79:                    const struct onewire_matchfam *, int);
        !            80:
        !            81: /* Bus bit-banging */
        !            82: struct onewire_bbops {
        !            83:        void    (*bb_rx)(void *);
        !            84:        void    (*bb_tx)(void *);
        !            85:        int     (*bb_get)(void *);
        !            86:        void    (*bb_set)(void *, int);
        !            87: };
        !            88:
        !            89: int            onewire_bb_reset(const struct onewire_bbops *, void *);
        !            90: int            onewire_bb_bit(const struct onewire_bbops *, void *, int);
        !            91:
        !            92: #endif /* !_DEV_ONEWIRE_ONEWIREVAR_H_ */

CVSweb