Changeset 182 in Main


Ignore:
Timestamp:
Sep 27, 2024, 9:55:12 PM (7 weeks ago)
Author:
Nishi
Message:

psp

Location:
trunk
Files:
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Common/log.c

    r62 r182  
    1212#include <stdarg.h>
    1313
     14#ifdef _PSP
     15#include <pspdebug.h>
     16#endif
     17
    1418FILE* logfile;
    1519
     
    2327        char date[513];
    2428        strftime(date, 512, "%a %b %d %H:%M:%S %Z %Y", tm);
     29#ifdef _PSP
     30        pspDebugScreenPrintf("[%s] %s\n", date, log);
     31#else
    2532        fprintf(logfile, "[%s] %s\n", date, log);
     33#endif
    2634        fflush(logfile);
    2735}
     
    6977        }
    7078
     79#ifdef _PSP
     80        pspDebugScreenPrintf("%s %s\n", namebuf, result);
     81#else
    7182        fprintf(logfile, "%s %s\n", namebuf, result);
     83#endif
    7284        va_end(args);
    7385
  • trunk/Makefile

    r181 r182  
    44PLATFORM = generic
    55PREFIX = /usr/local
     6MODULE = ./Module
    67
    78include Platform/$(PLATFORM).mk
     
    1112.PHONY: all format clean ./Server ./Common ./Module get-version
    1213
    13 all: ./Server ./Module ./Tool/genconf ./Tool/itworks
     14all: ./Server $(MODULE) ./Tool/genconf ./Tool/itworks
    1415
    1516./Tool/option: ./Tool/option.c config.h
  • trunk/Platform/psp.mk

    r181 r182  
    11# $Id$
    22
    3 CC = cc
    4 AR = ar
    5 CFLAGS = -g -std=c99 -DPREFIX=\"$(PREFIX)\" -I $(PWD)/Common -fPIC
    6 LDFLAGS =
    7 LIBS =
    8 EXEC =
     3CC = psp-gcc
     4AR = psp-ar
     5CFLAGS = -g -std=c99 -DPREFIX=\"$(PREFIX)\" -I $(PWD)/Common -I /usr/local/pspdev/psp/sdk/include -D_PSP_FW_VERSION=600
     6LDFLAGS = -L /usr/local/pspdev/psp/sdk/lib
     7LIBS = -lpspgum -lpspgu -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspnet -lpspnet_apctl
     8EXEC = .elf
    99LIB = .so
     10MODULE =
     11SERVADD = psp-fixup-imports tewi.elf && psp-strip tewi.elf -o tewi_strip.elf
     12TARGET = tewi.pbp
  • trunk/Server/Makefile

    r128 r182  
    88OBJS = version.o main.o config.o server.o http.o module.o strptime.o $(EXTOBJS) $(PREOBJS)
    99
    10 all: tewi$(EXEC)
     10all: tewi$(EXEC) $(TARGET)
     11
     12tewi_strip$(EXEC): tewi$(EXEC)
    1113
    1214tewi$(EXEC): $(OBJS) ../Common/common.a
    1315        $(CC) $(LDFLAGS) $(EXTLDFLAGS) -o $@ $(OBJS) $(EXTLIBS) $(LIBS) ../Common/common.a
     16        $(SERVADD)
     17
     18tewi.pbp: tewi_strip$(EXEC) param.sfo
     19        pack-pbp $@ param.sfo NULL NULL NULL NULL NULL tewi_strip$(EXEC) NULL
     20
     21param.sfo:
     22        mksfoex -d MEMSIZE=1 'Tewi HTTPd' $@
    1423
    1524.c.o:
     
    2029
    2130clean:
    22         rm -f *.o tewi *.exe *.res
     31        rm -f *.o tewi *.exe *.res *.elf *.sfo *.pbp
  • trunk/Server/config.c

    r178 r182  
    102102        config.server_admin = cm_strdup(SERVER_ADMIN);
    103103        config.defined[0] = NULL;
     104#ifdef _PSP
     105        strcpy(config.hostname, "psp");
     106#else
    104107        gethostname(config.hostname, 1024);
     108#endif
    105109#ifdef HAS_CHROOT
    106110        tw_add_define("HAS_CHROOT");
     
    411415                                                }
    412416                                        } else if(cm_strcaseequ(r[0], "ReadmeFile") || cm_strcaseequ(r[0], "Readme")) {
    413                                                 if(cm_strcaseequ(r[0], "Readme")){
     417                                                if(cm_strcaseequ(r[0], "Readme")) {
    414418                                                        cm_force_log("NOTE: Readme directive is deprecated.");
    415419                                                }
  • trunk/Server/main.c

    r168 r182  
    2424#ifdef __MINGW32__
    2525#include <windows.h>
     26#endif
     27
     28#ifdef _PSP
     29#include <pspkernel.h>
     30#include <pspdebug.h>
     31
     32PSP_MODULE_INFO("Tewi HTTPd", PSP_MODULE_USER, 1, 1);
     33PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER);
     34
     35#define printf(...) pspDebugScreenPrintf(__VA_ARGS__)
    2636#endif
    2737
     
    8393        StartServiceCtrlDispatcher(table);
    8494#else
     95#ifdef _PSP
     96        pspDebugScreenInit();
     97        pspDebugScreenSetXY(0, 0);
     98#endif
    8599        int st = startup(argc, argv);
    86100        if(st != -1) return st;
     
    114128                                        }
    115129                                        confpath = argv[i];
     130#ifndef _PSP
    116131                                } else if(strcmp(argv[i], "--logfile") == 0 || strcmp(argv[i], "-l") == 0) {
    117132                                        i++;
     
    128143                                                return 1;
    129144                                        }
     145#endif
    130146                                } else if(strcmp(argv[i], "--version") == 0 || strcmp(argv[i], "-V") == 0) {
    131147                                        printf("Tewi HTTPd Tewi/%s\n", tw_get_version());
     
    135151                                        printf("Usage: %s [--config|-C config] [--verbose|-v] [--version|-V]\n", argv[0]);
    136152                                        printf("--config  | -C config      : Specify config\n");
     153#ifndef _PSP
    137154                                        printf("--logfile | -l logfile     : Specify logfile\n");
     155#endif
    138156                                        printf("--verbose | -v             : Verbose mode\n");
    139157                                        printf("--version | -V             : Version information\n");
  • trunk/Server/module.c

    r159 r182  
    1414#include <stdlib.h>
    1515
     16extern struct tw_config config;
     17
     18#ifdef _PSP
     19void* tw_module_load(const char* path) { return NULL; }
     20
     21void* tw_module_symbol(void* mod, const char* sym) { return NULL; }
     22
     23int tw_module_init(void* mod) { return 1; }
     24
     25#else
     26
    1627#ifdef __MINGW32__
    1728#include <windows.h>
     
    1930#include <dlfcn.h>
    2031#endif
    21 
    22 extern struct tw_config config;
    2332
    2433void* tw_module_load(const char* path) {
     
    4655#endif
    4756}
     57
     58int tw_module_init(void* mod) {
     59        tw_mod_init_t mod_init = (tw_mod_init_t)tw_module_symbol(mod, "mod_init");
     60        if(mod_init == NULL) {
     61                cm_log("Module", "Could not init a module");
     62                return 1;
     63        } else {
     64                struct tw_tool tools;
     65                tw_init_tools(&tools);
     66                return mod_init(&config, &tools);
     67        }
     68}
     69#endif
    4870
    4971void tw_add_version(const char* string) {
     
    88110        tools->add_define = tw_add_define;
    89111}
    90 
    91 int tw_module_init(void* mod) {
    92         tw_mod_init_t mod_init = (tw_mod_init_t)tw_module_symbol(mod, "mod_init");
    93         if(mod_init == NULL) {
    94                 cm_log("Module", "Could not init a module");
    95                 return 1;
    96         } else {
    97                 struct tw_tool tools;
    98                 tw_init_tools(&tools);
    99                 return mod_init(&config, &tools);
    100         }
    101 }
  • trunk/Server/server.c

    r173 r182  
    2424#include <errno.h>
    2525#include <sys/stat.h>
     26#include <sys/types.h>
    2627#include <time.h>
    2728
     
    5354#include <netdb.h>
    5455#endif
     56#endif
     57
     58#ifdef _PSP
     59#include "strptime.h"
    5560#endif
    5661
     
    507512                                        struct tm tm;
    508513                                        strptime(req.headers[i + 1], "%a, %d %b %Y %H:%M:%S GMT", &tm);
    509 #ifdef __MINGW32__
     514#if defined(__MINGW32__) || defined(_PSP)
    510515                                        time_t t = 0;
    511516                                        struct tm* btm = localtime(&t);
     
    907912                                if(cond) {
    908913                                        SOCKADDR claddr;
    909                                         int clen = sizeof(claddr);
     914                                        socklen_t clen = sizeof(claddr);
    910915                                        int sock = accept(sockets[i], (struct sockaddr*)&claddr, &clen);
    911916                                        cm_log("Server", "New connection accepted");
  • trunk/Server/strptime.c

    r44 r182  
    3636//__RCSID("$NetBSD: strptime.c,v 1.62 2017/08/24 01:01:09 ginsbach Exp $");
    3737
    38 #ifdef __MINGW32__
     38#if defined(__MINGW32__)
    3939
    4040#include <ctype.h>
  • trunk/Server/strptime.h

    r140 r182  
    88#include <time.h>
    99
    10 #ifdef _WIN32
     10#if defined(_WIN32) || defined(_PSP)
    1111char* strptime(const char *buf, const char *fmt, struct tm *tm);
    1212#endif
  • trunk/config.h.tmpl

    r173 r182  
    2828#endif
    2929
     30#if defined(_PSP) && !defined(NO_IPV6)
     31#define NO_IPV6
     32/* PSP does not have IPv6 */
     33#endif
     34
     35#if defined(_PSP) && defined(USE_POLL)
     36#undef USE_POLL
     37/* Force select(2) for PSP */
     38#endif
     39
     40#if defined(_PSP) && defined(HAS_CHROOT)
     41#undef HAS_CHROOT
     42/* PSP should not have chroot */
     43#endif
     44
     45#if defined(_PSP) && !defined(NO_GETADDRINFO)
     46#define NO_GETADDRINFO
     47/* PSP should not have getaddrinfo */
     48#endif
     49
    3050#endif
    3151
Note: See TracChangeset for help on using the changeset viewer.