Merge branch 'refs/heads/t/doxygen'
[paraslash.git] / afs.h
diff --git a/afs.h b/afs.h
index 2f9d7e5fc40bdc9c1661336ffce20d7a7df76148..ea4b497e4b3b1bc2e54ab202962638ab25598d4d 100644 (file)
--- a/afs.h
+++ b/afs.h
@@ -141,12 +141,14 @@ struct pattern_match_data {
        unsigned loop_col_num;
        /** Data from this column is matched against the given patterns. */
        unsigned match_col_num;
        unsigned loop_col_num;
        /** Data from this column is matched against the given patterns. */
        unsigned match_col_num;
-       /** \see pattern_match_flags. */
+       /** \see \ref pattern_match_flags. */
        unsigned pm_flags;
        /** This value is passed verbatim to fnmatch(). */
        int fnmatch_flags;
        unsigned pm_flags;
        /** This value is passed verbatim to fnmatch(). */
        int fnmatch_flags;
-       /** Null-terminated array of patterns. */
-       struct osl_object patterns;
+       /** Obtained by deserializing the query buffer in the callback. */
+       struct lls_parse_result *lpr;
+       /** Do not try to match the first inputs of lpr */
+       unsigned input_skip;
        /** Data pointer passed to the action function. */
        void *data;
        /** Gets increased by one for each match. */
        /** Data pointer passed to the action function. */
        void *data;
        /** Gets increased by one for each match. */
@@ -163,6 +165,7 @@ struct afs_callback_arg {
        struct osl_object query;
        /** Will be written on band SBD_OUTPUT, fully buffered. */
        struct para_buffer pbout;
        struct osl_object query;
        /** Will be written on band SBD_OUTPUT, fully buffered. */
        struct para_buffer pbout;
+       struct lls_parse_result *lpr;
 };
 
 /**
 };
 
 /**
@@ -171,16 +174,14 @@ struct afs_callback_arg {
  * Therefore afs commands typically consist of two functions: The command
  * handler and the corresponding callback function that runs in afs context.
  *
  * Therefore afs commands typically consist of two functions: The command
  * handler and the corresponding callback function that runs in afs context.
  *
- * \sa send_callback_request().
+ * \sa \ref send_callback_request().
  */
 typedef int afs_callback(struct afs_callback_arg *aca);
 
 /**
  */
 typedef int afs_callback(struct afs_callback_arg *aca);
 
 /**
- * Callbacks send chunks to data back to the command handler. Pointers to
- * this type of function are used by \ref send_callback_request and friends
- * to deal with the data in the command handler process.
- *
- * \sa \ref send_callback_request().
+ * Some AFS callbacks need to send data back to the command handler. Pointers
+ * to this type of function are passed to \ref send_callback_request() and
+ * related functions to dispatch the data in the command handler process.
  */
 typedef int callback_result_handler(struct osl_object *result, uint8_t band, void *private);
 int afs_cb_result_handler(struct osl_object *result, uint8_t band, void *private);
  */
 typedef int callback_result_handler(struct osl_object *result, uint8_t band, void *private);
 int afs_cb_result_handler(struct osl_object *result, uint8_t band, void *private);
@@ -221,13 +222,9 @@ __must_check int afs_event(enum afs_events event, struct para_buffer *pb,
 int send_callback_request(afs_callback *f, struct osl_object *query,
                callback_result_handler *result_handler,
                void *private_result_data);
 int send_callback_request(afs_callback *f, struct osl_object *query,
                callback_result_handler *result_handler,
                void *private_result_data);
-int send_option_arg_callback_request(struct osl_object *options,
-               int argc,  char * const * const argv, afs_callback *f,
-               callback_result_handler *result_handler,
-               void *private_result_data);
-int send_standard_callback_request(int argc,  char * const * const argv,
-               afs_callback *f, callback_result_handler *result_handler,
-               void *private_result_data);
+int send_lls_callback_request(afs_callback *f,
+               const struct lls_command * const cmd,
+               struct lls_parse_result *lpr, void *private_result_data);
 int string_compare(const struct osl_object *obj1, const struct osl_object *obj2);
 int for_each_matching_row(struct pattern_match_data *pmd);
 
 int string_compare(const struct osl_object *obj1, const struct osl_object *obj2);
 int for_each_matching_row(struct pattern_match_data *pmd);