1806{
1808
1811 *fileExt = 0;
1815 *fileExt = 0;
1816 fileExt++;
1818
1820 char raw[512];
1823
1825 {
1828 }
1830 {
1833
1835 {
1842 else
1844 }
1845 }
1846
1848 {
1853
1855
1857 {
1863
1866 }
1867 }
1868
1871
1873 {
1876 }
1877
1879 {
1881 {
1883
1885 {
1887 {
1888 sprintf(
logBuff,
"Section [HOME], alias and bare path mixup, entry %s ignored", raw);
1890 }
1892 {
1895 }
1897 {
1898#ifdef __REACTOS__
1900#else
1901 for (
int i = 0;
i < 8;
i++)
1902#endif
1903 {
1905 {
1906 sprintf(
logBuff,
"Section [HOME], Duplicate Entry: %s ignored", raw);
1908 break;
1909 }
1911 {
1914
1916 {
1920 }
1921
1922 break;
1923 }
1924 }
1925 }
1926 else
1927 {
1930 }
1931 }
1933 {
1935
1937 {
1941 }
1942 }
1944 {
1945 sprintf(
logBuff,
"Section [HOME], alias and bare path mixup, entry %s ignored", raw);
1947 }
1949 {
1950 sprintf(
logBuff,
"Section [HOME], Duplicate Path: %s ignored", raw);
1952 }
1953 else
1954 {
1955 sprintf(
logBuff,
"Section [HOME], missing = sign, Invalid Entry: %s ignored", raw);
1957 }
1958 }
1959 }
1960
1962 {
1965 *(++iniFileExt) = 0;
1966 }
1967
1969
1971 {
1973 {
1975
1977 {
1979 {
1981
1982 if (tblksize < 512)
1986 else
1988 }
1990 {
1996 }
1998 {
2004 }
2006 {
2009 else
2011 }
2013 {
2016 else
2018 }
2020 {
2023 else
2025 }
2027 {
2030 {
2034
2036 {
2039
2042 }
2043 }
2044 else
2045 {
2048 }
2049 }
2050 else
2051 {
2054 }
2055 }
2056 }
2057 }
2058
2060 {
2061#ifdef __REACTOS__
2063#else
2065#endif
2066
2068 {
2069#ifdef __REACTOS__
2071#else
2073#endif
2074 {
2079
2082 else
2083 re = rs;
2084
2086 {
2090 }
2091 else
2092 {
2093 sprintf(
logBuff,
"Section [ALLOWED-CLIENTS] Invalid entry %s in ini file, ignored", raw);
2095 }
2096 }
2097 }
2098 }
2099
2101 {
2102 printf(
"starting TFTP...\n");
2103 }
2104 else
2105 {
2108 }
2109
2112 {
2115 }
2116
2118 {
2120
2121#ifdef __REACTOS__
2123#else
2125#endif
2126 {
2133 }
2134 }
2135 else
2136 {
2139 }
2140
2142 {
2145 }
2146 else
2147 {
2150 }
2151
2164
2166 {
2169 }
2170
2175 TEXT(
"AchalTFTServerLogEvent"));
2176
2178 {
2181 }
2183 {
2184 sprintf(
logBuff,
"CreateEvent opened an existing Event\nServer May already be Running");
2187 }
2188
2193 TEXT(
"AchalTFTServerThreadEvent"));
2194
2196 {
2199 }
2201 {
2202 sprintf(
logBuff,
"CreateEvent opened an existing Event\nServer May already be Running");
2205 }
2206
2211 TEXT(
"AchalTFTServerSocketEvent"));
2212
2214 {
2217 }
2219 {
2220 sprintf(
logBuff,
"CreateEvent opened an existing Event\nServer May already be Running");
2223 }
2224
2229 TEXT(
"AchalTFTServerCountEvent"));
2230
2232 {
2235 }
2237 {
2238 sprintf(
logBuff,
"CreateEvent opened an existing Event\nServer May already be Running");
2241 }
2242
2244 {
2246 {
2249 0,
2251 }
2252
2255 }
2256
2258 {
2261 }
2262
2263 do
2264 {
2266
2267 bool bindfailed = false;
2268
2270 {
2272
2274 {
2276
2279
2282
2284 {
2286 {
2288
2290 {
2294 break;
2295 }
2297 {
2301 }
2302 }
2303 else
2304 {
2305 sprintf(
logBuff,
"Warning: Section [LISTEN-ON], Invalid Interface Address %s, ignored", raw);
2307 }
2308 }
2309 }
2310 }
2311
2313 {
2317
2319 {
2322 }
2323 }
2324
2326
2328 {
2330
2332 {
2334 break;
2335 }
2336
2338 {
2340
2343
2345
2347 continue;
2348 }
2349 else
2350 {
2352
2354 {
2355 bindfailed = true;
2358 continue;
2359 }
2360
2361
2362
2368
2370 {
2371 bindfailed = true;
2375 continue;
2376 }
2377
2382
2383
2384
2387
2389 break;
2390
2392 }
2393 }
2394
2395 if (bindfailed)
2397 else
2399
2402
2403
2404
2406 {
2409 continue;
2410 }
2411
2413 {
2416 }
2417
2419
2421
2422
2423
2425 return;
2426}
char * strcat(char *DstString, const char *SrcString)
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
INT WINAPI WSAStartup(IN WORD wVersionRequested, OUT LPWSADATA lpWSAData)
GLenum const GLvoid * addr
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
_Check_return_ long __cdecl atol(_In_z_ const char *_Str)
#define memcpy(s1, s2, n)
#define ERROR_ALREADY_EXISTS
_CRTIMP uintptr_t __cdecl _beginthread(_In_ void(__cdecl *_StartAddress)(void *), _In_ unsigned _StackSize, _In_opt_ void *_ArgList)
_CRTIMP void __cdecl _endthread(void)
_CRT_RESTORE_GCC_WARNINGS _CRT_DISABLE_GCC_WARNINGS _Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
_CRTIMP struct tm *__cdecl localtime(const time_t *_Time)
INT WSAAPI bind(IN SOCKET s, IN CONST struct sockaddr *name, IN INT namelen)
SOCKET WSAAPI socket(IN INT af, IN INT type, IN INT protocol)
size_t CDECL strftime(char *str, size_t max, const char *format, const struct tm *mstm)
MYDWORD listenServers[MAX_SERVERS]
MYWORD listenPorts[MAX_SERVERS]
FILE * openSection(const char *sectionName, MYBYTE serial, char *fileName)
void getInterfaces(data1 *network)
char * IP2String(char *target, MYDWORD ip)
void processRequest(void *lpParam)
MYDWORD * findServer(MYDWORD *array, MYDWORD ip)
char * readSection(char *buff, FILE *f)
void mySplit(char *name, char *value, char *source, char splitChar)
DWORD WINAPI GetLastError(void)
#define WritePrivateProfileString
#define GetModuleFileName