irias_object.h

来自「linux 内核源代码」· C头文件 代码 · 共 109 行

H
109
字号
/********************************************************************* *                 * Filename:      irias_object.h * Version:        * Description:    * Status:        Experimental. * Author:        Dag Brattli <dagb@cs.uit.no> * Created at:    Thu Oct  1 22:49:50 1998 * Modified at:   Wed Dec 15 11:20:57 1999 * Modified by:   Dag Brattli <dagb@cs.uit.no> *  *     Copyright (c) 1998-1999 Dag Brattli, All Rights Reserved. *       *     This program is free software; you can redistribute it and/or  *     modify it under the terms of the GNU General Public License as  *     published by the Free Software Foundation; either version 2 of  *     the License, or (at your option) any later version. *   *     Neither Dag Brattli nor University of Tromsø admit liability nor *     provide warranty for any of this software. This material is  *     provided "AS-IS" and at no charge. *      ********************************************************************/#ifndef LM_IAS_OBJECT_H#define LM_IAS_OBJECT_H#include <net/irda/irda.h>#include <net/irda/irqueue.h>/* LM-IAS Attribute types */#define IAS_MISSING 0#define IAS_INTEGER 1#define IAS_OCT_SEQ 2#define IAS_STRING  3/* Object ownership of attributes (user or kernel) */#define IAS_KERNEL_ATTR	0#define IAS_USER_ATTR	1/* *  LM-IAS Object */struct ias_object {	irda_queue_t q;     /* Must be first! */	magic_t magic;		char  *name;	int   id;	hashbin_t *attribs;};/* *  Values used by LM-IAS attributes */struct ias_value {        __u8    type;    /* Value description */	__u8	owner;	/* Managed from user/kernel space */	int     charset; /* Only used by string type */        int     len;		/* Value */	union {		int integer;		char *string;		__u8 *oct_seq;	} t;};/* *  Attributes used by LM-IAS objects */struct ias_attrib {	irda_queue_t q; /* Must be first! */	int magic;        char *name;   	         /* Attribute name */	struct ias_value *value; /* Attribute value */};struct ias_object *irias_new_object(char *name, int id);void irias_insert_object(struct ias_object *obj);int  irias_delete_object(struct ias_object *obj);int  irias_delete_attrib(struct ias_object *obj, struct ias_attrib *attrib,			 int cleanobject);void __irias_delete_object(struct ias_object *obj);void irias_add_integer_attrib(struct ias_object *obj, char *name, int value,			      int user);void irias_add_string_attrib(struct ias_object *obj, char *name, char *value,			     int user);void irias_add_octseq_attrib(struct ias_object *obj, char *name, __u8 *octets,			     int len, int user);int irias_object_change_attribute(char *obj_name, char *attrib_name, 				  struct ias_value *new_value);struct ias_object *irias_find_object(char *name);struct ias_attrib *irias_find_attrib(struct ias_object *obj, char *name);struct ias_value *irias_new_string_value(char *string);struct ias_value *irias_new_integer_value(int integer);struct ias_value *irias_new_octseq_value(__u8 *octseq , int len);struct ias_value *irias_new_missing_value(void);void irias_delete_value(struct ias_value *value);extern struct ias_value irias_missing;extern hashbin_t *irias_objects;#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?