| /* Copyright Statement: | 
 |  | 
 |  * This software/firmware and related documentation ("MediaTek Software") are | 
 |  * protected under relevant copyright laws. The information contained herein is | 
 |  * confidential and proprietary to MediaTek Inc. and/or its licensors. Without | 
 |  * the prior written permission of MediaTek inc. and/or its licensors, any | 
 |  * reproduction, modification, use or disclosure of MediaTek Software, and | 
 |  * information contained herein, in whole or in part, shall be strictly | 
 |  * prohibited. | 
 |  | 
 |  * MediaTek Inc. (C) 2015. All rights reserved. | 
 |  | 
 |  * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES | 
 |  * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") | 
 |  * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER | 
 |  * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL | 
 |  * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED | 
 |  * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR | 
 |  * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH | 
 |  * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, | 
 |  * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES | 
 |  * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. | 
 |  * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO | 
 |  * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK | 
 |  * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE | 
 |  * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR | 
 |  * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S | 
 |  * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE | 
 |  * RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE | 
 |  * MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE | 
 |  * CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. | 
 |  */ | 
 |  | 
 | #ifndef __REQUEST_H__ | 
 | #define __REQUEST_H__ | 
 |  | 
 |  | 
 | /*******************************************************************************/ | 
 | /* REQUEST definitions                                                         */ | 
 | /*******************************************************************************/ | 
 | #define SNCFG_REQUEST_MAGIC			0x2287 | 
 | #define SNCFG_REQUEST_UNIX_SOCKET	"/var/run/sncfg.socket" | 
 |  | 
 | #ifdef __MEM_COSTDOWN__ | 
 | #define SNCFG_REQUEST_MAX_SIZE		512 | 
 | #else | 
 | #define SNCFG_REQUEST_MAX_SIZE		4096 | 
 | #endif | 
 |  | 
 |  | 
 | /*******************************************************************************/ | 
 | /* REQUEST prototypes                                                          */ | 
 | /*******************************************************************************/ | 
 | enum { | 
 | 	SNCFG_REQUEST_TYPE_PROP_SET, | 
 | 	SNCFG_REQUEST_TYPE_PROP_GET, | 
 | 	SNCFG_REQUEST_TYPE_PROP_RELOAD, | 
 | 	SNCFG_REQUEST_TYPE_PROP_DEBUG, | 
 | 	SNCFG_REQUEST_TYPE_PROP_CTRLSTOP_SIGNAL, | 
 | 	SNCFG_REQUEST_TYPE_PROP_TEST, | 
 |  | 
 | 	SNCFG_REQUEST_TYPE_RESERVED | 
 | }; | 
 | 	 | 
 |  | 
 | struct sncfg_request { | 
 | 	unsigned short magic; | 
 | 	unsigned short type; | 
 | 	int status; | 
 | 	int reservedLen; | 
 | 	char *key; | 
 | 	char *value; | 
 | 	char string[SNCFG_REQUEST_MAX_SIZE];	/* enough ?? */ | 
 | }; | 
 |  | 
 | struct request_list { | 
 | 	struct request_list *prev, *next; | 
 | }; | 
 |  | 
 | struct req { | 
 | 	struct request_list	next; | 
 | 	int	sock; | 
 |     int child_pid; | 
 | 	struct sncfg_request request; | 
 | }; | 
 |  | 
 |  | 
 | /*******************************************************************************/ | 
 | /* REQUEST variables                                                           */ | 
 | /*******************************************************************************/ | 
 |  | 
 |  | 
 | /*******************************************************************************/ | 
 | /* REQUEST functions                                                           */ | 
 | /*******************************************************************************/ | 
 | extern int pack_request(struct sncfg_request *request); | 
 | extern int unpack_request(struct sncfg_request *request, int size); | 
 | extern int connect_request(void); | 
 | extern int accept_request(int sockfd); | 
 | extern int request_for_sncfg(struct sncfg_request *request); | 
 |  | 
 | #endif	// __REQUEST_H__ |