summaryrefslogblamecommitdiff
path: root/src/char/inter.h
blob: b484a1610654fa7c27982455e5e110977e7447bb (plain) (tree)
1
2
3
4
5
6
7
8
9


                                                           
 

                      

              
                          
                 
 
                                     
                       

                                
                                
                                                                            
                                                                                                                                                                                                                                                                                         
 
                             
                                      
 
                                              

                                      
 

                        
 
                                                                                  
 

                                                  

                                                                
                                                              
                                                                                                                                                                    
                                                         
                  




                                     
                           
// Copyright (c) Hercules Dev Team, licensed under GNU GPL.
// See the LICENSE file
// Portions Copyright (c) Athena Dev Teams

#ifndef _CHAR_INTER_H_
#define _CHAR_INTER_H_

struct accreg;
#include "../common/sql.h"
#include "char.h"

int inter_init_sql(const char *file);
void inter_final(void);
int inter_parse_frommap(int fd);
int inter_mapif_init(int fd);
int mapif_send_gmaccounts(void);
int mapif_disconnectplayer(int fd, int account_id, int char_id, int reason);
void mapif_parse_accinfo2(bool success, int map_fd, int u_fd, int u_aid, int account_id, const char *userid, const char *user_pass, const char *email, const char *last_ip, const char *lastlogin, const char *pin_code, const char *birthdate, int group_id, int logincount, int state);

int inter_log(char *fmt,...);
int inter_vlog(char *fmt, va_list ap);

#define inter_cfgName "conf/inter-server.conf"

extern unsigned int party_share_level;

extern Sql* sql_handle;
extern Sql* lsql_handle;

int inter_accreg_tosql(int account_id, int char_id, struct accreg *reg, int type);

uint64 inter_chk_lastuid(int8 flag, uint64 value);
#ifdef NSI_UNIQUE_ID
	#define updateLastUid(val_) inter_chk_lastuid(1, (val_))
	#define dbUpdateUid(handler_) do { \
		uint64 unique_id_ = inter_chk_lastuid(0, 0); \
		if (unique_id_ && SQL_ERROR == SQL->Query((handler_), "UPDATE `%s` SET `value`='%"PRIu64"' WHERE `varname`='unique_id'", interreg_db, unique_id_)) \
				Sql_ShowDebug(handler_);\
	} while(0)
#else
	#define dbUpdateUid(handler_)
	#define updateLastUid(val_)
#endif

#endif /* _CHAR_INTER_H_ */