00001 /* 00002 * finflect - Algorithms and tools for inflecting Finnish nouns 00003 * Copyright (C) 2004, 2005 The FinFlect Team 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 * 00019 * 00020 * For the complete legal text of the GNU Lesser General Public License, 00021 * see the file LICENSE. For a complete list of authors and copyright 00022 * holders, see the file AUTHORS. 00023 */ 00024 00025 /** 00026 * @file ffpriv_general_local_cases.h Declares functions for inflecting 00027 * words in general local cases. They are implemented in ffpriv_general_local_cases.c. 00028 */ 00029 00030 #ifndef __FFPRIV_GENERAL_LOCAL_CASES_H 00031 #define __FFPRIV_GENERAL_LOCAL_CASES_H 00032 00033 #ifdef __cplusplus 00034 extern "C" { 00035 #endif 00036 00037 #include "fftypes.h" 00038 #include "ffword.h" 00039 00040 /** 00041 * Transforms the given word into its partitive singular form. 00042 * @param word The word in basic form 00043 * @return 0 on success; -1 on error 00044 */ 00045 ffint32 ffpriv_partitive_singular(ffword* word); 00046 00047 /** 00048 * Transforms the given word into its partitive plural form. 00049 * @param word The word in basic form 00050 * @return 0 on success; -1 on error 00051 */ 00052 ffint32 ffpriv_partitive_plural(ffword* word); 00053 00054 /** 00055 * Transforms the given word into its essive singular form. 00056 * @param word The word in basic form 00057 * @return 0 on success; -1 on error 00058 */ 00059 ffint32 ffpriv_essive_singular(ffword* word); 00060 00061 /** 00062 * Transforms the given word into its essive plural form. 00063 * @param word The word in basic form 00064 * @return 0 on success; -1 on error 00065 */ 00066 ffint32 ffpriv_essive_plural(ffword* word); 00067 00068 /** 00069 * Transforms the given word into its translative singular form. 00070 * @param word The word in basic form 00071 * @return 0 on success; -1 on error 00072 */ 00073 ffint32 ffpriv_translative_singular(ffword* word); 00074 00075 /** 00076 * Transforms the given word into its translative plural form. 00077 * @param word The word in basic form 00078 * @return 0 on success; -1 on error 00079 */ 00080 ffint32 ffpriv_translative_plural(ffword* word); 00081 00082 #ifdef __cplusplus 00083 } 00084 #endif 00085 00086 #endif