ufname.h

来自「ftam等标准协议服务器和客户端的源代码。」· C头文件 代码 · 共 145 行

H
145
字号
/* $Header: /xtel/isode/isode/others/quipu/uips/doog/query/RCS/ufname.h,v 9.0 1992/06/16 12:45:27 isode Rel $ */#ifndef _query_ufname_h_#define _query_ufname_h_#include "types.h"#include "dn_list.h"#include "error.h"#include "sequence.h"/* *	Status return structure */typedef struct _ufn_status{  char *just_resolved;  entryList resolved_against;} ufn_status, *ufnStatus;#define NULLUfnStatus (ufnStatus) NULL#define ufn_status_alloc() (ufnStatus) sizeof(ufn_status)/* *	Search path structures */#define UfnPlus -1#define UfnNobound -2typedef struct _search_path{  int lower_bound;  int upper_bound;  entryList path;  struct _search_path *next;} search_path, *searchPath;#define NULLSearchPath (searchPath) NULL#define search_path_alloc() (searchPath) smalloc(sizeof(search_path))/* * name_part structs double up as search args and records for the * progress of UFN searches. * */typedef struct _name_part{  struct _name_part *next;  char *part_name;  QBool is_resolved;  known is_bottom_level;#define MATCHLIMIT 20  entryList exact_matches;  QCardinal exact_match_num;  entryList good_matches;  QCardinal good_match_num;  entryList poor_matches;  QCardinal poor_match_num;} name_part, *namePart;#define NULLNamePart (namePart) NULL#define name_part_alloc() (namePart) smalloc(sizeof(name_part))/* * Failed - Unable to resolve name. * GoodMatches - Resolved with good matches. * PoorComplete - Resolved, but only poor matches found for final *		  component of name. * PoorPartial - Made partial resolution and made poor matches for next *	     	 intermediate component. */typedef enum {Failed, GoodMatches, PoorComplete, PoorPartial} ufnMatchState;typedef struct _ufn_results{  ufnMatchState match_status;  QBool tried_intermediate;  char *resolved_part;  char *unresolved_part;  QCardinal tasks_sent;  QCardinal tasks_failed;  QCardinal match_num;  entryList matches;  errorList errors;} ufn_results, *ufnResults;#define NULLUfnResults (ufnResults) NULL#define ufn_res_alloc() (ufnResults) smalloc(sizeof(ufn_results))/* *	UFN search record. */typedef struct _ufname_rec{  namePart name_parts;  QCardinal tasks_sent;  QCardinal tasks_failed;  entryList path;#define MAX_TASKS_PER_REQ 100  int dap_exact_task_ids[MAX_TASKS_PER_REQ];  int dap_approx_task_ids[MAX_TASKS_PER_REQ];  QCardinal exact_task_count;  QCardinal approx_task_count;  QCardinal request_id;  ufnResults results;} ufname_rec, *ufnameRec;#define NULLUfnameRec (ufnameRec) NULL#define ufname_rec_alloc() (ufnameRec) smalloc(sizeof(ufname_rec))/* Public procedures */QE_error_code do_ufn_resolve();request_state process_ufn_ds_result(), process_ufn_ds_error();request_state continue_ufn_search();ufnResults get_ufn_results();ufnStatus get_ufn_status();namePart str2ufname();void ufname_rec_free(), name_part_free();void add_ufn_path_element();entryList get_ufn_path();#endif _query_ufname_h_

⌨️ 快捷键说明

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